gpt4 book ai didi

java - MySQL 可与 Java 配合使用,但不能与 Android 配合使用

转载 作者:行者123 更新时间:2023-11-29 13:13:41 26 4
gpt4 key购买 nike

我有一个远程 MySQL 服务器,我想从我的 Android 设备连接到它,我已经在常规 java 控制台应用程序上测试了代码,它工作得很好

但是当我在 Android 模拟器上运行它时,它会抛出 SQLException:没有合适的驱动程序。

代码是相同的,MySQL 细节是相同的,我对它们都使用相同的 mysql jar,我真的一无所知。

Android 代码:

public class MySQL_handler {
Connection con = null;
Statement st = null;
ResultSet rs = null;


String url1,user,password;


Thread thread;
Runnable runnable;

String data = "";

public MySQL_handler() {
user = "xx";
password = "xx";
url1 = "xx";

}

public String test(){
final CountDownLatch latch = new CountDownLatch(1);
runnable = new Runnable() {

@Override
public void run() {

try
{
Log.v("S", url1);
Log.v("S", user);
Log.v("S", password);
con = DriverManager.getConnection(url1, user, password);
st = con.createStatement();
rs = st.executeQuery("SELECT CompName FROM Servers WHERE HostIP = '10.0.0.4'");

if (rs.next())
{
Log.v("sqlver",""+ rs.getString(1));
data = rs.getString(1);
}
else{
Log.v("sqlver","err");
}

}
catch (SQLException ex)
{
Log.v("SQLEX", ".."+ex);

}
finally {
try
{
if (rs != null)
{
rs.close();
}
if (st != null)
{
st.close();
}
if (con != null)
{
con.close();
}
latch.countDown();

}
catch (SQLException ex)
{
Log.v("SQLEX", "...");
latch.countDown();
}
}

}
};
thread = new Thread(runnable);
thread.start();
try {
latch.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
return data;
}
}

最佳答案

尝试先加载您​​的驱动程序

Class.forName("here your driver class name");

顺便说一句,我必须警告您,尝试从移动设备打开数据库连接并不是生产中的最佳实践(但如果是为了学术练习,请继续)

关于java - MySQL 可与 Java 配合使用,但不能与 Android 配合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21763790/

26 4 0
文章推荐: iphone - 无法确定 plist 和 sqlite3
文章推荐: PostgresQL 错误 : relation doesn't exist