2

次を使用してデータベース名を取得します。

SqlDataSourceEnumerator sdse = SqlDataSourceEnumerator.Instance;
DataTable table = sdse.GetDataSources();

次に、以下を使用して、db のリストを取得します。

static void Main(string[] args)
        {
            {
                //Connect to the local, default instance of SQL Server. 
                Server srv;
                srv = new Server("LAPTOP\\SQLEXPRESS");
                //The connection is established when a property is requested.

                Console.WriteLine(srv.Databases.ToString());
                foreach (Database db in srv.Databases)
                {
                    Console.WriteLine(db);
                }
                Console.ReadLine();
            }
        }

問題は、存在するにもかかわらず、システム データベースしか取得できず、他のデータベースを取得できないことです。すべてのデータベースの情報を取得するために何を変更すればよいかわかりません。任意の支援をいただければ幸いです。

4

1 に答える 1

3

遅くなりましたが、あなたの要求に応じてあなたの質問に答えられませんでした。次のコード スニペットを試してみませんか。

Server srvMgmtServer = default(Server);
srvMgmtServer = new Server("LAPTOP\\SQLEXPRESS");
ServerConnection srvConn = default(ServerConnection);
srvConn = srvMgmtServer.ConnectionContext;
srvConn.LoginSecure = true;

foreach(Database db in srvMgmtServer.Databases;
{
    Console.WriteLine(db.Name);
}
于 2012-10-30T08:27:05.693 に答える