0

I am trying to connect to mssql server database using jtds in AsyncTask. At line,

con = DriverManager.getConnection(connString);

when it comes on this line, after 3 or 4 secs AsyncTask.java file on Execute function and after that application crashes.

Here is what i am tring to go so far

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;
    }

at geting connection line after 3 to 4 sec it comes here AsyncTask.java

public synchronized void execute(final Runnable r) {
        mTasks.offer(new Runnable() {
            public void run() {
                try {....

And sql connection has no problem coz i have connected it with SSMS with same username and password

Error Log

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) 
Rohit5k2
  • 17,948
  • 8
  • 45
  • 57
Hamza Zaidi
  • 401
  • 7
  • 15

1 Answers1

0

Here is the answer. I was using jtds-1.3.1 when i receiving that f*ckin error. Just downgrade jtds to 1.3.0 and BINGO. It will run fine and connected to database successfully. I guess its a bug in latest version.

Hamza Zaidi
  • 401
  • 7
  • 15