通过URN获得数据库对象
Server server = new Server("MS-STUDYZY");//申明Server对象连接到指定服务器
Urn urn = new Urn("Server[@Name='MS-STUDYZY']/Database[@Name='AdventureWorks']/Table [@Name='AddressType' and @Schema='Person']"); //定义一个URN
Table table =server.GetSmoObject(urn) as Table; //通过URN对象获得对应的数据库对象
Console.Write(table.Name); //输出数据库对象的名字
--
--12.2.2节示例
--
获得属性
Table table =server.GetSmoObject(urn) as Table; //通过URN获得一个表对象
foreach(Property p in table.Properties) //循环获得表对象下的所有属性
{
Console.WriteLine(p.Name+":"+p.Value); //输出属性名和属性值
}
--
--12.2.4节示例
--
通过数据库名获得Database对象
Server server = new Server("MS-STUDYZY");//申明Server对象
Database db = server.Databases["AdventureWorks"];//通过Server对象获得其中的Database对象
--
--12.2.5节示例
--
通过架构和表名获得Table对象
Server server = new Server("MS-STUDYZY");
Database db = server.Databases["AdventureWorks"];
Table table = db.Tables["AddressType", "Person"];//获得Person.AddressType表对应的Table对象
直接通过表名获得Table对象
Server server = new Server("MS-STUDYZY");
Database db = server.Databases["AdventureWorks"];
Table logTable = db.Tables["DatabaseLog"];//获得DatabaseLog对应的Table对象
--
--12.2.6节示例
--
通过架构和视图名获得View对象
Server server = new Server("MS-STUDYZY");
Database db = server.Databases["AdventureWorks"];
View view = db.Views["vEmployee","HumanResources"];//获得数据库下的视图对象
通过存储过程名获得StoredProcedure对象
Server server = new Server("MS-STUDYZY");
Database db = server.Databases["AdventureWorks"];
StoredProcedure sp = db.StoredProcedures["GetDeparment"];//获得数据库中的存储过程对象
通过列名获得Column对象
Server server = new Server("MS-STUDYZY");
Database db = server.Databases["AdventureWorks"];
Table table = db.Tables["AddressType", "Person"];//获得数据库下的Table对象
Column col = table.Columns["Name"];//获得表对象下的Column对象