我正在 android studio 中制作一个连接到 SQL 数据库服务器的应用程序,我在连接到数据库时遇到问题。
代码:
import android.util.Log; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import net.sourceforge.jtds.jdbc.*;
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://localhost:1433/quehojaes;encrypt=false;user=Pc-PC;password=;instance=SQLEXPRESS;";
// String connString = "Data Source=localhost:1433;Initial Catalog=quehojaes;Integrated Security=True";
String connString ="jdbc:jtds:sqlserver://localhost:1433/quehojaes;";
String username = "Pc-PC";
String password = "";
conn = DriverManager.getConnection(connString);
Log.w("Connection", "open");
Statement stmt = conn.createStatement();
ResultSet reset = stmt.executeQuery("select * from planta where id=1");
//Print the data to the console
while (reset.next()) {
dato = reset.getString(3);
Log.w("Data:", reset.getString(3));
Log.w("Data",reset.getString(2));
}
conn.close();
} catch (Exception e) {
Log.w("Error connection", "" + e.getMessage());
}
return dato;
}
................................................
我在行 (conn = DriverManager.getConnection (connString)) 处遇到错误,所以我想我尝试进入数据库的用户是错误的,我使用本地数据库输入 Windows 用户身份验证,但我没有该用户名为 Pc 的密码。
我尝试过的失败登录尝试讨论了一些行。
感谢您的帮助!
最佳答案
localhost 表示您当前的机器。那就是电话。由于 SQLServer 未在您的手机上运行,因此它是错误的字符串。使用您的 PC IP 地址,并确保您可以通过任何 ISP 或个人防火墙访问该端口。
顺便说一句——这是一种糟糕的做事方式。您必须将密码放入应用程序中的 SQL 服务器。反编译它并拥有您的数据是微不足道的。相反,你应该在两者之间建立一个网络服务,这样只有你在本地网络上拥有的机器才需要有数据库密码。
关于java - Android Studio Sql Server 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35074093/