SQL Server 提供 COM 元件 SQLDMO,讓開發人員能以程式化方式管理資料庫伺服器、資料庫、資料表、預存程序等物件。本文示範在 .NET 環境下透過 Interop 組件呼叫 SQLDMO。
tlbimp sqldmo.dll /out:rc3sqldmo.dllrc3sqldmo.dll。rc3sqldmo 命名空間下的類別、屬性、方法。rc3sqldmo.SQLServer2 sqlSvr = new rc3sqldmo.SQLServer2Class();
sqlSvr.Connect("ServerName", "uid", "pwd");
rc3sqldmo.Databases dbs = sqlSvr.Databases;
rc3sqldmo.Database2 db = (rc3sqldmo.Database2)dbs.Item("DBName", "Owner");
rc3sqldmo.Tables tables = db.Tables;
foreach (object obj in tables)
{
rc3sqldmo.Table2 tbl = (rc3sqldmo.Table2)obj;
foreach (object colObj in tbl.Columns)
{
rc3sqldmo.Column2 col = (rc3sqldmo.Column2)colObj;
Console.WriteLine($"{col.Name}\t{col.DataType}\t{col.Length}");
}
}
rc3sqldmo.StoredProcedure2 sp = (rc3sqldmo.StoredProcedure2)
sqlSvr.Databases.Item("DBName","Owner").StoredProcedures.Item("SPName","Owner");