本文實例講述了C#獲取所有SQL Server數據庫名稱的方法。分享給大家供大家參考。具體如下:
連接到master庫中,執行 select name from master..sysdatabases 。
sp_helpdb也可以列出數據名,但不是全部,sp_helpdb是會根據當前用戶角色找出相應的數據庫,而用sysdatabases表則只要有權限訪問該表就能查出所有數據庫信息。
默認情況下,sqlserver提供的6個數據庫中,除了model數據庫外,其他若干個數據庫還可能擁有guest用戶。
exec sp_helpdb得到的記錄包括:當前用戶擁有訪問權限的數據庫(包括默認的幾個guest訪問數據庫)。
任何用戶(只要能連接到sqlserver)查詢master數據庫中的表sysdatabases可以得到所有的數據庫名稱,因為該表的guest用戶不可刪除。
/// <summary>/// 取所有數據庫名,添加到lvDB/// </summary>/// <returns></returns>private ArrayList GetAllDataBase(){ ArrayList DBNameList = new ArrayList(); SqlConnection Connection = new SqlConnection( String.Format("Data Source={0};Initial Catalog=master;User ID={1};PWD={2}","(local)","sa","adminwinter")); DataTable DBNameTable = new DataTable(); SqlDataAdapter Adapter = new SqlDataAdapter("select name from master..sysdatabases", Connection); lock (Adapter) { Adapter.Fill(DBNameTable); } foreach (DataRow row in DBNameTable.Rows) { DBNameList.Add(row["name"]); } return DBNameList;}
希望本文所述對大家的C#程序設計有所幫助。
新聞熱點
疑難解答