2015-05-04 88 views
-1

如何列出我機器上已知實例中的所有SQL Server數據庫?使用Java查找實例中的所有SQL Server數據庫

+1

類似的線程,而不是Java具體,但它可以幫助http://stackoverflow.com/questions/3570738/如何在本地機器上獲取所有這些ms-sql-server-instances列表 – bpgergo

+0

感謝您的鏈接,但它重申列出SQL Server實例。當然是一個好的開始,但我需要列出SQL Server數據庫(假設我知道SQL Server實例)。 – Benjamin

+1

啊,好吧,他們可能想要執行以下查詢:'SELECT name,database_id,create_date FROM sys.databases'https://msdn.microsoft.com/en-us/library/ms188613.aspx – bpgergo

回答

3

您可以從JDBC與DatabaseMetaData#getCatalog()嘗試(與MS SQLServerDriver和JTDS驅動程序的工作原理):

import java.sql.*; 
public class ListDatabases 
{ 
    public static void main(String [] args) 
    { 
    Connection con = null; 
    try { 
     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
     con = DriverManager.getConnection("jdbc:sqlserver://localhost:1269;" 
       + "user=sa;password=HerongYang"); 

     DatabaseMetaData meta = con.getMetaData(); 
     ResultSet res = meta.getCatalogs(); 
     System.out.println("List of databases: "); 
     while (res.next()) { 
      System.out.println(res.getString("TABLE_CAT")); 
     } 
     res.close(); 
    } catch (Exception e) { 
     System.err.println("Exception: " + e); 
    } finally { 
     con.close(); 
    } 
    } 
} 
相關問題