Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从android使用jtds连接到azure数据库_Android_Ssl_Azure_Noclassdeffounderror_Jtds - Fatal编程技术网

从android使用jtds连接到azure数据库

从android使用jtds连接到azure数据库,android,ssl,azure,noclassdeffounderror,jtds,Android,Ssl,Azure,Noclassdeffounderror,Jtds,我正在设计一个android应用程序,使用开源jtds驱动程序版本1.2.7直接连接到azure数据库。我已成功连接到sql server express数据库,因此我知道它可以正常工作。但是,在尝试连接azure数据库时,我遇到了一个错误。这是stacktrace: 06-06 17:03:49.881: E/AndroidRuntime(1906): FATAL EXCEPTION: AsyncTask #2 06-06 17:03:49.881: E/AndroidRuntime(1906

我正在设计一个android应用程序,使用开源jtds驱动程序版本1.2.7直接连接到azure数据库。我已成功连接到sql server express数据库,因此我知道它可以正常工作。但是,在尝试连接azure数据库时,我遇到了一个错误。这是stacktrace:

06-06 17:03:49.881: E/AndroidRuntime(1906): FATAL EXCEPTION: AsyncTask #2
06-06 17:03:49.881: E/AndroidRuntime(1906): java.lang.RuntimeException: An error occured while executing doInBackground()
06-06 17:03:49.881: E/AndroidRuntime(1906):     at android.os.AsyncTask$3.done(AsyncTask.java:299)
06-06 17:03:49.881: E/AndroidRuntime(1906):     at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
06-06 17:03:49.881: E/AndroidRuntime(1906):     at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
06-06 17:03:49.881: E/AndroidRuntime(1906):     at java.util.concurrent.FutureTask.run(FutureTask.java:239)
06-06 17:03:49.881: E/AndroidRuntime(1906):     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
06-06 17:03:49.881: E/AndroidRuntime(1906):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
06-06 17:03:49.881: E/AndroidRuntime(1906):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
06-06 17:03:49.881: E/AndroidRuntime(1906):     at java.lang.Thread.run(Thread.java:856)
06-06 17:03:49.881: E/AndroidRuntime(1906): Caused by: java.lang.NoClassDefFoundError: com.sun.net.ssl.SSLContext
06-06 17:03:49.881: E/AndroidRuntime(1906):     at net.sourceforge.jtds.ssl.SocketFactoriesSUN$TdsTlsSocketFactory.factory(SocketFactoriesSUN.java:174)
06-06 17:03:49.881: E/AndroidRuntime(1906):     at net.sourceforge.jtds.ssl.SocketFactoriesSUN$TdsTlsSocketFactory.getFactory(SocketFactoriesSUN.java:157)
06-06 17:03:49.881: E/AndroidRuntime(1906):     at net.sourceforge.jtds.ssl.SocketFactoriesSUN$TdsTlsSocketFactory.createSocket(SocketFactoriesSUN.java:86)
06-06 17:03:49.881: E/AndroidRuntime(1906):     at net.sourceforge.jtds.jdbc.SharedSocket.enableEncryption(SharedSocket.java:332)
06-06 17:03:49.881: E/AndroidRuntime(1906):     at net.sourceforge.jtds.jdbc.TdsCore.negotiateSSL(TdsCore.java:554)
06-06 17:03:49.881: E/AndroidRuntime(1906):     at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:350)
06-06 17:03:49.881: E/AndroidRuntime(1906):     at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:188)
06-06 17:03:49.881: E/AndroidRuntime(1906):     at java.sql.DriverManager.getConnection(DriverManager.java:175)
06-06 17:03:49.881: E/AndroidRuntime(1906):     at java.sql.DriverManager.getConnection(DriverManager.java:209)
06-06 17:03:49.881:E/AndroidRuntime(1906):致命异常:AsyncTask#2
06-06 17:03:49.881:E/AndroidRuntime(1906):java.lang.RuntimeException:执行doInBackground()时出错
06-06 17:03:49.881:E/AndroidRuntime(1906):在android.os.AsyncTask$3.done(AsyncTask.java:299)
06-06 17:03:49.881:E/AndroidRuntime(1906):在java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
06-06 17:03:49.881:E/AndroidRuntime(1906):在java.util.concurrent.FutureTask.setException(FutureTask.java:219)
06-06 17:03:49.881:E/AndroidRuntime(1906):在java.util.concurrent.FutureTask.run(FutureTask.java:239)
06-06 17:03:49.881:E/AndroidRuntime(1906):在android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
06-06 17:03:49.881:E/AndroidRuntime(1906):位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
06-06 17:03:49.881:E/AndroidRuntime(1906):位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
06-06 17:03:49.881:E/AndroidRuntime(1906):在java.lang.Thread.run(Thread.java:856)
06-06 17:03:49.881:E/AndroidRuntime(1906):由以下原因引起:java.lang.NoClassDefFoundError:com.sun.net.ssl.SSLContext
06-06 17:03:49.881:E/AndroidRuntime(1906):位于net.sourceforge.jtds.ssl.SocketFactoriesSUN$tdstlsocketfactory.factory(SocketFactoriesSUN.java:174)
06-06 17:03:49.881:E/AndroidRuntime(1906):位于net.sourceforge.jtds.ssl.SocketFactoriesSUN$tdstlsocketfactory.getFactory(SocketFactoriesSUN.java:157)
06-06 17:03:49.881:E/AndroidRuntime(1906):在net.sourceforge.jtds.ssl.SocketFactoriesSUN$tdstlsocketfactory.createSocket(SocketFactoriesSUN.java:86)
06-06 17:03:49.881:E/AndroidRuntime(1906):在net.sourceforge.jtds.jdbc.SharedSocket.enableEncryption(SharedSocket.java:332)
06-06 17:03:49.881:E/AndroidRuntime(1906):在net.sourceforge.jtds.jdbc.TdsCore.negotiateSSL(TdsCore.java:554)
06-06 17:03:49.881:E/AndroidRuntime(1906):在net.sourceforge.jtds.jdbc.ConnectionJDBC2.(ConnectionJDBC2.java:350)
06-06 17:03:49.881:E/AndroidRuntime(1906):位于net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:188)
06-06 17:03:49.881:E/AndroidRuntime(1906):位于java.sql.DriverManager.getConnection(DriverManager.java:175)
06-06 17:03:49.881:E/AndroidRuntime(1906):位于java.sql.DriverManager.getConnection(DriverManager.java:209)
看起来问题出在
java.lang.NoClassDefFoundError:com.sun.net.ssl.SSLContext
上,但我不知道该怎么办。我相信强制加密是在数据库中打开的,但我没有设置它,我也没有权限干扰这些设置。你知道该怎么处理这个错误吗