【发布时间】:2016-02-23 09:35:34
【问题描述】:
我正在尝试使用 AsyncTask 中的 jtds 连接到 mssql 服务器数据库。在线,
con = DriverManager.getConnection(connString);
当它出现在这一行时,在 Execute 函数上的 3 或 4 秒 AsyncTask.java 文件之后以及该应用程序崩溃之后。
这是我目前为止的目标
protected Void doInBackground(Void... params)
{
Connection con = null;
try {
String driver = "net.sourceforge.jtds.jdbc.Driver";
Class.forName(driver).newInstance();
String connString = "jdbc:jtds:sqlserver://dbandroid.mssql.somee.com:1433/dbandroid;";
con = DriverManager.getConnection(connString,"username","password");
Log.i("SQLConn", "IsClosed:" + con.isClosed());
}
catch(Exception ex)
{
Log.e("SQLServerConn",ex.getMessage());
}
return null;
}
在 3 到 4 秒后获取连接线时,它会出现在这里 AsyncTask.java
public synchronized void execute(final Runnable r) {
mTasks.offer(new Runnable() {
public void run() {
try {....
而且sql连接没有问题,因为我已经用相同的用户名和密码将它连接到SSMS
错误日志
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: Process: com.example.hamza.sunshine, PID: 15690
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: java.lang.RuntimeException: An error occured while executing doInBackground()
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: at android.os.AsyncTask$3.done(AsyncTask.java:300)
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:242)
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: at java.lang.Thread.run(Thread.java:841)
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: Caused by: java.lang.VerifyError: net/sourceforge/jtds/jdbc/TdsCore
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: at net.sourceforge.jtds.jdbc.JtdsConnection.<init>(JtdsConnection.java:359)
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: at java.sql.DriverManager.getConnection(DriverManager.java:179)
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: at java.sql.DriverManager.getConnection(DriverManager.java:213)
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: at com.example.hamza.sunshine.MainActivity$SQLServerConn.doInBackground(MainActivity.java:270)
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: at com.example.hamza.sunshine.MainActivity$SQLServerConn.doInBackground(MainActivity.java:258)
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: at android.os.AsyncTask$2.call(AsyncTask.java:288)
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
02-23 05:18:03.704 15690-15737/com.example.hamza.sunshine E/AndroidRuntime: at java.lang.Thread.run(Thread.java:841)
【问题讨论】:
-
请在此处粘贴您的崩溃报告,以便更好地帮助您。
-
我不知道从哪里获得崩溃报告我是新手
-
它将在
LogCat选项卡中提供。当您的应用程序崩溃时,您将在 logcat 中看到可用的错误日志。复制粘贴到这里。 -
我已经更新了 Logcat 的详细信息,请查看上方
-
这看起来不像崩溃日志。我们正在寻找的应该是堆栈跟踪形式的红色。
标签: java android android-asynctask jtds mssql-jdbc