.NETのDbConnection.GetSchema()を使用して、特定のデータベースの所有者を見つける方法を教えてください。特定のデータベースの所有者を見つけるにはどうすればよいですか?
また、SQLの特定の実装に結合されていない別の解決策がある場合は、そのこともお聞きしたいと思います。
.NETのDbConnection.GetSchema()を使用して、特定のデータベースの所有者を見つける方法を教えてください。特定のデータベースの所有者を見つけるにはどうすればよいですか?
また、SQLの特定の実装に結合されていない別の解決策がある場合は、そのこともお聞きしたいと思います。
SQL-92標準でカタログ(データベース)に所有者が必要であると指定しているとは思えません。このように、私はあなたがこれを行うための実装以外の方法を得ることができるかどうかはわかりません。
たDbConnectionののGetSchemaの呼び出しは、残念ながらあなた:-(
用DBの所有者を取得しません。しかし、あなたは、SQL Server上で、これを試すことができます。
select
db.name, db.database_id, l.name, l.type
from
sys.databases db
inner join
sys.login_token l on db.owner_sid = l.sid
あなたがSQL Serverに接続する場合.NETから、あなたはSMO(SQL管理オブジェクト)を使用し、このようなあなたの所有者を見つけることができます:
Server server = new Server("Your Server");
Database db = server.Databases["Your Database"];
Console.WriteLine("Database owner is: " + db.Owner);
マルク・
Oracle、MySQLなどに対して動作するクエリがあるとしますか? –
いいえ、申し訳ありませんが、私はこれらのデータベースシステムに精通していません。残念ながら、実際には、所有者を示すデータベースに依存しないカタログビュー(INFORMATION_SCHEMA)は存在しません。 –