【发布时间】:2014-08-13 09:29:00
【问题描述】:
我正在测试从 Android 直接连接到 SQL Server 的应用程序,但无法从 Android 直接连接到 SQL Server。浏览器服务正在运行,TCP端口已启用,仍然发出奇怪的错误。还包括互联网权限
有什么问题
import java.sql.*;
import android.os.*;
import android.util.*;
import android.app.*;
import net.sourceforge.jtds.jdbc.*;
import android.widget.*;
public class MainActivity extends Activity
{
TextView txt;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txt=(TextView)findViewById(R.id.txt);
getData();
}
public void getData()
{
Log.i("Android"," MySQL Connect Example.");
Connection conn = null;
try
{
/*
String dbName = "DatabaseNew";
String driver = "net.sourceforge.jtds.jdbc.Driver";
String connString = "jdbc:jtds:sqlserver://KashifPC:1433/DatabaseNew;instance=MSSQLSERVER;user=gulzar;password=allah";
//String userName = "gulzar";
//String password = "allah";
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(connString,userName,password);
*/
String connString="jdbc:sqlserver://127.0.0.1:1433;databaseName=DatabaseNew;";
Class.forName("com.microsoft.sqlserver.jdbc.DriverJDBCVersion").newInstance();
conn = DriverManager.getConnection(connString,"gulzar","allah");
Log.w("Connection","open");
Statement stmt = conn.createStatement();
ResultSet reset = stmt.executeQuery("Select * from dbo.StuAndroid");
while(reset.next())
{
Log.w("Data:",reset.getString(1));
Log.w("Data:",reset.getString(2));
Log.w("Data:",reset.getString(3));
txt.setText(reset.getString(2)+"\n");
}
stmt.close();
conn.close();
} catch (Exception e)
{
Log.w("Error connection","Error :" + e.getMessage());
}
}
}
【问题讨论】:
-
这不是与服务器通信的正确方式。您应该使用 rest-json 网络服务来使用移动设备上的数据。
标签: android mysql sql-server database