Метод 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++;
}
}