Hi I'm trying to connect to SQL Server 2008 using JDBC. I downloaded the JDBC from microsoft and there were two java files sqljdbc.jar and sqljdbc4.jar. I imported sqljdbc4.jar into my application but when i get to conn = DriverManager.getConnection(connString); i get the error below: the connection string is "jdbc:sqlserver://xxx.xxx.xxx.xxx:1433;encrypt=fasle;user=username;password=password;" Can any one tell me what is going wrong? my code is below the error below. I know that there are other ways to connect to a db and using JDBC isnt the best but it the only suitable method for my application.
any help would be great and Thanks in advance. I/MobileTrend(13984): ERROR 1: com.microsoft.sqlserver.jdbc.SQLServerException:The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "Socket closed". W/System.err(13984): com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "Socket closed". W/System.err(13984): at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1352) W/System.err(13984): at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1533) W/System.err(13984): at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1042) W/System.err(13984): at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:817) W/System.err(13984): at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:700) W/System.err(13984): at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:842) W/System.err(13984): at java.sql.DriverManager.getConnection(DriverManager.java:180) W/System.err(13984): at java.sql.DriverManager.getConnection(DriverManager.java:145) W/System.err(13984): at com.boozel.mobiletrend.MobileTrendActivity.query(MobileTrendActivity.java:77) W/System.err(13984): at com.boozel.mobiletrend.MobileTrendActivity.onOptionsItemSelected(MobileTrendActivity.java:50) W/System.err(13984): at android.app.Activity.onMenuItemSelected(Activity.java:2205) W/System.err(13984): at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:748) W/System.err(13984): at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:143) W/System.err(13984): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:855) W/System.err(13984): at com.android.internal.view.menu.IconMenuView.invokeItem(IconMenuView.java:532) W/System.err(13984): at com.android.internal.view.menu.IconMenuItemView.performClick(IconMenuItemView.java:122) W/System.err(13984): at android.view.View$PerformClick.run(View.java:9080) W/System.err(13984): at android.os.Handler.handleCallback(Handler.java:587) W/System.err(13984): at android.os.Handler.dispatchMessage(Handler.java:92) W/System.err(13984): at android.os.Looper.loop(Looper.java:130) W/System.err(13984): at android.app.ActivityThread.main(ActivityThread.java:3683) W/System.err(13984): at java.lang.reflect.Method.invokeNative(Native Method) W/System.err(13984): at java.lang.reflect.Method.invoke(Method.java:507) W/System.err(13984): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) W/System.err(13984): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) W/System.err(13984): at dalvik.system.NativeStart.main(Native Method) W/System.err(13984): Caused by: java.net.SocketException: Socket closed W/System.err(13984): at org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_do_handshake(Native Method) W/System.err(13984): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:474) W/System.err(13984): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:328) W/System.err(13984): at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1483) W/System.err(13984): ... 24 more package com.boozel.mobiletrend; import java.sql.Connection; import java.sql.DriverManager; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.text.method.ScrollingMovementMethod; import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.widget.TextView; import com.microsoft.sqlserver.jdbc.*; public class MobileTrendActivity extends Activity { SharedPreferences sharedPreferences; TextView tv; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); sharedPreferences = getSharedPreferences("MobileTrend", 0); tv = (TextView)findViewById(R.id.output); tv.setMovementMethod(new ScrollingMovementMethod()); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.xml.mainmenu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle item selection switch (item.getItemId()) { case R.id.settings: Intent myIntent = new Intent(MobileTrendActivity.this, Settings.class); MobileTrendActivity.this.startActivity(myIntent); return true; case R.id.connect1: query(); return true; case R.id.connect2: query2(); return true; case R.id.clear: tv.setText(""); return true; default: return super.onOptionsItemSelected(item); } } public void query() { Log.i("MobileTrend","1) MySQL Connect Example."); Connection conn = null; try { outputToConsole("\n1) Attempting to connect..."); String driver = sharedPreferences.getString("driver","com.microsoft.sqlserver.jdbc.SQLServerDriver"); outputToConsole("Driver: "+driver); Class.forName(driver).newInstance(); //test = com.microsoft.sqlserver.jdbc.SQLServerDriver.class; outputToConsole("Driver Instance Created"); String connString = sharedPreferences.getString("connectionstring1",""); outputToConsole("Connection String: "+connString); conn = DriverManager.getConnection(connString); //conn = DriverManager.getConnection(url+dbName,userName,password); outputToConsole("Connected to the database"); conn.close(); outputToConsole("Disconnected from database"); } catch (Exception e) { outputToConsole("ERROR 1: "+e); e.printStackTrace(); } } public void query2() { Log.i("MobileTrend","2) MySQL Connect Example."); Connection conn = null; try { outputToConsole("\n2) Attempting to connect..."); String driver = sharedPreferences.getString("driver","com.microsoft.sqlserver.jdbc.SQLServerDriver"); outputToConsole("Driver: "+driver); Class.forName(driver).newInstance(); //test = com.microsoft.sqlserver.jdbc.SQLServerDriver.class; outputToConsole("Driver Instance Created"); String connString = sharedPreferences.getString("connectionstring2",""); outputToConsole("Connection String: "+connString); String username = sharedPreferences.getString("username2",""); outputToConsole("User Name: "+username); String password = sharedPreferences.getString("password2",""); outputToConsole("Password: "+password); conn = DriverManager.getConnection(connString,username,password); //conn = DriverManager.getConnection(url+dbName,userName,password); outputToConsole("Connected to the database"); conn.close(); outputToConsole("Disconnected from database"); } catch (Exception e) { outputToConsole("ERROR 2: "+e); e.printStackTrace(); } } public void outputToConsole(String message) { tv.append(message+"\n"); Log.i("MobileTrend",message); } } -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en