首页 > 解决方案 > java.sql.SQLException:android studio 中的对象名称“tablename”无效

问题描述

我正在尝试将android studio连接到数据库SQL server 2014,但出现此错误:

java.sql.SQLException: Invalid object name 'tablename'

我使用 :jtds 1.3.1 和 :sqljdbc4-2.0

我连接本地网络。

标签: androidsql-server-2014jtdssqljdbc

解决方案


SQL 语句失败,因为您没有为 jTDS 使用正确的连接 URL 格式,因此您实际上没有连接到字符串变量 serverDb 指定的数据库。

您正在尝试使用 jTDS 无法识别的名为 database 的连接 URL 参数:

String serverDb = "myDb";
String connUrl = "jdbc:jtds:sqlserver://localhost:49242;database=" + serverDb;
try (Connection conn = DriverManager.getConnection(connUrl, myUid, myPwd)) {
    System.out.println(conn.getCatalog());  // prints: master
} catch (Exception e) {
    e.printStackTrace(System.err);
}

相反,您应该使用文档中描述的 server:port/database 格式

    String serverDb = "myDb";
String connUrl = "jdbc:jtds:sqlserver://localhost:49242/" + serverDb;
try (Connection conn = DriverManager.getConnection(connUrl, myUid, myPwd)) {
    System.out.println(conn.getCatalog());  // prints: myDb
} catch (Exception e) {
    e.printStackTrace(System.err);
}

推荐阅读