我正在尝试连接到 Microsoft SQL 2008 服务器,这似乎对其他人有用,但我没有运气。我知道直接连接到服务器不是最佳做法,但这个应用程序仅用于演示,不会分发到我的设备之外。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import net.sourceforge.jtds.jdbc.*;
public void query2()
{
Log.i("Android"," MySQL Connect Example.");
Connection conn = null;
try {
String driver = "net.sourceforge.jtds.jdbc.Driver";
Class.forName(driver).newInstance();
//test = com.microsoft.sqlserver.jdbc.SQLServerDriver.class;
String connString = "jdbc:jtds:sqlserver://server_ip_address
:1433/DBNAME;encrypt=fasle;user=xxxxxxxxx;password=xxxxxxxx;instance=SQLEXPRESS;";
String username = "xxxxxx";
String password = "xxxxxxxxxx";
conn = DriverManager.getConnection(connString,username,password);
Log.w("Connection","open");
Statement stmt = conn.createStatement();
ResultSet reset = stmt.executeQuery("select * from TableName");
//Print the data to the console
while(reset.next()){
Log.w("Data:",reset.getString(3));
// Log.w("Data",reset.getString(2));
}
conn.close();
}
catch (Exception e)
{
Log.w("Error connection","" + e.getMessage());
}
}
如果不是,需要改变什么?它每次都在连接语句上崩溃。谢谢你。
编辑:这是该事件的 logcat。
12-12 06:11:41.273: E/AndroidRuntime(5745): 致命异常: main 12-12 06:11:41.273: E/AndroidRuntime(5745): java.lang.IllegalStateException: 无法执行活动 12 的方法-12 06:11:41.273: E/AndroidRuntime(5745): 在 android.view.View$1.onClick(View.java:3597) 12-12 06:11:41.273: E/AndroidRuntime(5745): 在 android. view.View.performClick(View.java:4202) 12-12 06:11:41.273: E/AndroidRuntime(5745): 在 android.view.View$PerformClick.run(View.java:17340) 12-12 06: 11:41.273: E/AndroidRuntime(5745): 在 android.os.Handler.handleCallback(Handler.java:725) 12-12 06:11:41.273: E/AndroidRuntime(5745): 在 android.os.Handler.dispatchMessage (Handler.java:92) 12-12 06:11:41.273: E/AndroidRuntime(5745): 在 android.os.Looper.loop(Looper.java:137) 12-12 06:11:41.273: E/AndroidRuntime (5745):在 android.app.ActivityThread。main(ActivityThread.java:5039) 12-12 06:11:41.273: E/AndroidRuntime(5745): at java.lang.reflect.Method.invokeNative(Native Method) 12-12 06:11:41.273: E/AndroidRuntime (5745): 在 java.lang.reflect.Method.invoke(Method.java:511) 12-12 06:11:41.273: E/AndroidRuntime(5745): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller。运行(ZygoteInit.java:793)12-12 06:11:41.273:E/AndroidRuntime(5745):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)12-12 06:11: 41.273: E/AndroidRuntime(5745): at dalvik.system.NativeStart.main(Native Method) 12-12 06:11:41.273: E/AndroidRuntime(5745): 由: java.lang.reflect.InvocationTargetException 12-12 06:11:41.273: E/AndroidRuntime(5745): 在 java.lang.reflect.Method.invokeNative(Native Method) 12-12 06:11:41.273: E/AndroidRuntime(5745): 在 java.lang.reflect。方法。调用(Method.java:511) 12-12 06:11:41.273: E/AndroidRuntime(5745): at android.view.View$1.onClick(View.java:3592) 12-12 06:11:41.273: E /AndroidRuntime(5745): ... 11 更多 12-12 06:11:41.273: E/AndroidRuntime(5745): 由: java.sql.SQLException: 没有合适的驱动程序 12-12 06:11:41.273: E/ AndroidRuntime(5745): 在 java.sql.DriverManager.getConnection(DriverManager.java:182) 12-12 06:11:41.273: E/AndroidRuntime(5745): 在 java.sql.DriverManager.getConnection(DriverManager.java:140 ) 12-12 06:11:41.273: E/AndroidRuntime(5745): 在 com.nateapp.finalproject.MainActivity.sendData(MainActivity.java:266) 12-12 06:11:41.273: E/AndroidRuntime(5745): ... 14 更多11 更多 12-12 06:11:41.273: E/AndroidRuntime(5745): 由: java.sql.SQLException: 没有合适的驱动程序 12-12 06:11:41.273: E/AndroidRuntime(5745): at java.sql .DriverManager.getConnection(DriverManager.java:182) 12-12 06:11:41.273: E/AndroidRuntime(5745): 在 java.sql.DriverManager.getConnection(DriverManager.java:140) 12-12 06:11:41.273 : E/AndroidRuntime(5745): at com.nateapp.finalproject.MainActivity.sendData(MainActivity.java:266) 12-12 06:11:41.273: E/AndroidRuntime(5745): ... 14 更多11 更多 12-12 06:11:41.273: E/AndroidRuntime(5745): 由: java.sql.SQLException: 没有合适的驱动程序 12-12 06:11:41.273: E/AndroidRuntime(5745): at java.sql .DriverManager.getConnection(DriverManager.java:182) 12-12 06:11:41.273: E/AndroidRuntime(5745): 在 java.sql.DriverManager.getConnection(DriverManager.java:140) 12-12 06:11:41.273 : E/AndroidRuntime(5745): at com.nateapp.finalproject.MainActivity.sendData(MainActivity.java:266) 12-12 06:11:41.273: E/AndroidRuntime(5745): ... 14 更多E/AndroidRuntime(5745): 在 com.nateapp.finalproject.MainActivity.sendData(MainActivity.java:266) 12-12 06:11:41.273: E/AndroidRuntime(5745): ... 14 更多E/AndroidRuntime(5745): 在 com.nateapp.finalproject.MainActivity.sendData(MainActivity.java:266) 12-12 06:11:41.273: E/AndroidRuntime(5745): ... 14 更多
它所要做的就是一个插入语句。