2014-07-01 75 views
1

这是我的日志文件...Android的连接SQL Server使用JTDS发生校验错误

07-01 16:34:34.161: E/AndroidRuntime(4957): FATAL EXCEPTION: main 
07-01 16:34:34.161: E/AndroidRuntime(4957): Process: com.example.jsonconnet, PID: 4957 
07-01 16:34:34.161: E/AndroidRuntime(4957): java.lang.VerifyError: net/sourceforge/jtds/jdbc/TdsCore 
07-01 16:34:34.161: E/AndroidRuntime(4957):  at net.sourceforge.jtds.jdbc.JtdsConnection.<init>(JtdsConnection.java:359) 
07-01 16:34:34.161: E/AndroidRuntime(4957):  at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184) 
07-01 16:34:34.161: E/AndroidRuntime(4957):  at java.sql.DriverManager.getConnection(DriverManager.java:179) 
07-01 16:34:34.161: E/AndroidRuntime(4957):  at java.sql.DriverManager.getConnection(DriverManager.java:213) 
07-01 16:34:34.161: E/AndroidRuntime(4957):  at com.example.jsonconnet.Step.CONN(Step.java:120) 
07-01 16:34:34.161: E/AndroidRuntime(4957):  at com.example.jsonconnet.Step.onCreate(Step.java:49) 
07-01 16:34:34.161: E/AndroidRuntime(4957):  at android.app.Activity.performCreate(Activity.java:5231) 
07-01 16:34:34.161: E/AndroidRuntime(4957):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
07-01 16:34:34.161: E/AndroidRuntime(4957):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2212) 
07-01 16:34:34.161: E/AndroidRuntime(4957):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2298) 
07-01 16:34:34.161: E/AndroidRuntime(4957):  at android.app.ActivityThread.access$800(ActivityThread.java:144) 
07-01 16:34:34.161: E/AndroidRuntime(4957):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1246) 
07-01 16:34:34.161: E/AndroidRuntime(4957):  at android.os.Handler.dispatchMessage(Handler.java:102) 
07-01 16:34:34.161: E/AndroidRuntime(4957):  at android.os.Looper.loop(Looper.java:212) 
07-01 16:34:34.161: E/AndroidRuntime(4957):  at android.app.ActivityThread.main(ActivityThread.java:5151) 
07-01 16:34:34.161: E/AndroidRuntime(4957):  at java.lang.reflect.Method.invokeNative(Native Method) 
07-01 16:34:34.161: E/AndroidRuntime(4957):  at java.lang.reflect.Method.invoke(Method.java:515) 
07-01 16:34:34.161: E/AndroidRuntime(4957):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:877) 
07-01 16:34:34.161: E/AndroidRuntime(4957):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693) 
07-01 16:34:34.161: E/AndroidRuntime(4957):  at dalvik.system.NativeStart.main(Native Method) 

然后 这是我的代码 请帮我

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_step); 
    getActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.orange)); 
    CONN(mUserName,mPassWord,mDB,mSqlServer); 
} 
private void CONN(String _user, String _pass, String _DB, String _server){ 
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 
    StrictMode.setThreadPolicy(policy); 
    try{ 
     String ConnURL =null; 
     Class.forName("net.sourceforge.jtds.jdbc.Driver"); 
     ConnURL = 
     "jdbc:jtds:sqlserver://"+ _server+";"+"databaseName"+_DB+"integratedSecurity=true;"; 
     conn = DriverManager.getConnection(ConnURL,_user,_pass); 
    }catch(SQLException se){ 
     se.printStackTrace(); 
    }catch(ClassNotFoundException e){ 
     e.printStackTrace(); 
    }catch(Exception e){ 
     e.printStackTrace(); 
    } 

    } 

public void InsertSQL(String RECNO){ 


    String sql="insert into Popularity(fbID,recNo)values(?,?)"; 
    PreparedStatement prepared; 

    try { 
     prepared = conn.prepareStatement(sql); 
     prepared.setInt(1, Integer.parseInt("830914")); 
     prepared.setInt(2, Integer.parseInt(RECNO)); 
     prepared.executeUpdate(); 
     Log.d("XX","Success!"); 

    } catch (java.sql.SQLException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 



} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    super.onCreateOptionsMenu(menu); 
    MenuItem likeit = menu.add(0, 0, 0, "like").setIcon(R.drawable.likeit);; 
    likeit.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); 
    likeit.setOnMenuItemClickListener(new OnMenuItemClickListener() { 
     public boolean onMenuItemClick(MenuItem item) { 
      InsertSQL(recNo);   
      return true; 
      } 
    }); 

    return true; 
} 

回答

0

使用版本JTDS-1.3 .0.jar和一切完美:)