gpt4 book ai didi

java - 在 getTables() 方法中的何处指定数据库名称。

转载 作者:行者123 更新时间:2023-11-29 07:27:04 24 4
gpt4 key购买 nike

getTables() 方法未返回数据库中存在的表的任何结果。我认为问题在于不知道在 ip 上查看哪个数据库。当我有多个具有相同表的数据库时,如何指定 getTables() 方法应该查找的数据库?

         //concatinating strings for IP to hit
String ArchiveDB_URL = "jdbc:sqlserver://" + getArchiveIPaddress();


// Database credentials
String USER = "Removed";
String PASS = "Removed";

Connection archiveConn = null;
Statement archiveStmt = null;

try {

// Register JDBC driver
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

// Open a connection

archiveConn = DriverManager.getConnection(ArchiveDB_URL, USER, PASS);

DatabaseMetaData dbm = archiveConn.getMetaData();
ResultSet rsTBmd = dbm.getTables(null,null, "[myDatabase].[dbo].[myTable]", new String[] {"TABLE"});

System.out.println(rsTBmd.getString("TABLE_NAME"));

if (rsTBmd.next()){
//result sets start at 1 not 0
int rsTBmdi = 1;
while(rsTBmd.next()){
System.out.println(rsTBmd.getString(rsTBmdi));
rsTBmdi++;
}
}

最佳答案

getTables 的前两个参数是 catalogschemaPattern。 “目录”是“数据库”的另一个名称,因此只需提供数据库名称作为第一个参数:

ResultSet rsTBmd = dbm.getTables("myDatabase", "dbo", "myTable", new String[] {"TABLE"});

请注意,在这种情况下,您不会将名称括在方括号中,即使它们包含空格或“有趣的字符”也是如此。

关于java - 在 getTables() 方法中的何处指定数据库名称。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50102581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com