【发布时间】:2017-11-15 02:47:32
【问题描述】:
我正在尝试在 java 应用程序中运行 SQLquery。 sqlquery 连接两个数据库(不在同一台服务器上)。我在这里所做的是否正确:
公共功能有:
private DatabaseData externaldb = new DatabaseData("com.mysql.jdbc.Driver",
"...", "...", "...");
private DatabaseData localdb = new DatabaseData("com.mysql.jdbc.Driver",
"...", "...", "...");
private Connection externalconnection = null;
private Connection localconnection = null;
function(externalconnection, c_id, u_d);
被调用的函数是:
private int function(Connection externalconnection, String c_Id, String u_Id)
throws SQLException{
String query ="SELECT A.v_id, COUNT(I.v_id) AS v_count "
+ "FROM externaldb.video_interaction I"
+ " INNER JOIN localdb.video_additional A ON A.v_id = I.v_id"
+ " WHERE I.c_id='" + c_id + "' AND I.user'" + u_Id + "';";
Statement stmt = externaldb.createStatement();
ResultSet rs = stmt.executeQuery(query);
int counter = 0;
if (rs.next()){
counter = rs.getInt("video_count");
}
return counter;
}
谢谢!
【问题讨论】:
-
你试过上面的代码了吗?你遇到了什么问题。分享这些细节,否则我们帮不了你
-
谢谢。我们仍在准备服务器。这就是为什么我目前没有反馈。
-
遇到问题后再回来。否则我们也可以推测
-
没有。您的查询是一个代表 SQL 查询的字符串,它将被传递给 MySQL 以在您用于运行该查询的任何连接上执行 - 查询本身不能引用另一个连接。在 Microsoft SQL Server 中,您可以设置链接服务器来执行此操作;我不确定 MySQL 是否有类似的东西。
-
问我是否测试过,是的,但它不起作用。