Вызов методов
Методы выполняют специальные задачи, связанные с объектом, например устанавливают Checkpoint в базе данных или запрашивают перечисляемый список имен входа для экземпляра Microsoft SQL Server.
Методы выполняют операции с объектом. Они могут принимать параметры и часто возвращают значение. Возвращаемое значение может быть простым типом данных, сложным объектом или структурой, содержащей большое число членов.
Для проверки успешного выполнения метода используется обработка исключений. Дополнительные сведения см. в разделе Обработка исключений SMO.
Примеры
Чтобы использовать какой-либо из представленных примеров кода, необходимо выбрать среду, шаблон и язык программирования, с помощью которых будет создаваться приложение. Дополнительные сведения см. в разделе «Как создать проект Visual Basic SMO в Visual Studio .NET» или «Как создать проект Visual C# SMO в Visual Studio .NET» в электронной документации по SQL Server.
Использование простого метода SMO на языке Visual Basic
В этом примере метод Create не принимает параметры и не возвращает значение.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Define a Database object variable by supplying the parent server and the database name arguments in the constructor.
Dim db As Database
db = New Database(srv, "Test_SMO_Database")
'Call the Create method to create the database on the instance of SQL Server.
db.Create()
Использование простого метода SMO на языке Visual C#
В этом примере метод Create не принимает параметры и не возвращает значение.
{
//Connect to the local, default instance of SQL Server.
Server srv;
srv = new Server();
//Define a Database object variable by supplying the parent server and the database name arguments in the constructor.
Database db;
db = new Database(srv, "Test_SMO_Database");
//Call the Create method to create the database on the instance of SQL Server.
db.Create();
}
Использование метода SMO с параметром на языке Visual Basic
Объект Table вызывает метод RebuildIndexes. Этому методу требуется числовой параметр, задающий FillFactor.
Dim srv As Server
srv = New Server
Dim tb As Table
tb = srv.Databases("AdventureWorks2008R2").Tables("Employee", "HumanResources")
tb.RebuildIndexes(70)
Использование метода SMO с параметром на языке Visual C#
Объект Table вызывает метод RebuildIndexes. Этому методу требуется числовой параметр, задающий FillFactor.
{
Server srv = default(Server);
srv = new Server();
Table tb = default(Table);
tb = srv.Databases("AdventureWorks2008R2").Tables("Employee", "HumanResources");
tb.RebuildIndexes(70);
}
Использование метода перечисления, который возвращает объект DataTable, на языке Visual Basic
В этом разделе описывается вызов метода перечисления и обработка данных в возвращаемом объекте DataTable.
Метод EnumCollations возвращает объект DataTable, который требует дальнейшего перехода для доступа ко всем имеющимся сведениям о параметрах сортировки в экземпляре SQL Server.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Call the EnumCollations method and return collation information to DataTable variable.
Dim d As DataTable
'Select the returned data into an array of DataRow.
d = srv.EnumCollations
'Iterate through the rows and display collation details for the instance of SQL Server.
Dim r As DataRow
Dim c As DataColumn
For Each r In d.Rows
Console.WriteLine("============================================")
For Each c In r.Table.Columns
Console.WriteLine(c.ColumnName + " = " + r(c).ToString)
Next
Next
Использование метода перечисления, который возвращает объект DataTable, на языке Visual C#
В этом разделе описывается вызов метода перечисления и обработка данных в возвращаемом объекте DataTable.
Метод EnumCollations возвращает системный объект DataTable. Объект DataTable требует дальнейшего перехода для доступа ко всем имеющимся сведениям о параметрах сортировки в экземпляре SQL Server.
//Connect to the local, default instance of SQL Server.
{
Server srv = default(Server);
srv = new Server();
//Call the EnumCollations method and return collation information to DataTable variable.
DataTable d = default(DataTable);
//Select the returned data into an array of DataRow.
d = srv.EnumCollations;
//Iterate through the rows and display collation details for the instance of SQL Server.
DataRow r = default(DataRow);
DataColumn c = default(DataColumn);
foreach ( r in d.Rows) {
Console.WriteLine("=====================================");
foreach ( c in r.Table.Columns) {
Console.WriteLine(c.ColumnName + " = " + r(c).ToString);
}
}
}
Создание объекта на языке Visual Basic
Конструктор любого объекта можно вызвать с помощью оператора New. Конструктор объектов Database перегружен, и версия конструктора объектов Database, приведенная в этом образце, принимает два параметра: родительский объект Server, которому принадлежит база данных, и строку, представляющую имя новой базы данных.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Declare and define a Database object by supplying the parent server and the database name arguments in the constructor.
Dim d As Database
d = New Database(srv, "Test_SMO_Database")
'Create the database on the instance of SQL Server.
d.Create()
Console.WriteLine(d.Name)
Создание объекта на языке Visual C#
Конструктор любого объекта можно вызвать с помощью оператора New. Конструктор объектов Database перегружен, и версия конструктора объектов Database, приведенная в этом образце, принимает два параметра: родительский объект Server, которому принадлежит база данных, и строку, представляющую имя новой базы данных.
{
Server srv;
srv = new Server();
Table tb;
tb = srv.Databases("AdventureWorks2008R2").Tables("Employee", "HumanResources");
tb.RebuildIndexes(70);
//Connect to the local, default instance of SQL Server.
Server srv;
srv = new Server();
//Declare and define a Database object by supplying the parent server and the database name arguments in the constructor.
Database d;
d = new Database(srv, "Test_SMO_Database");
//Create the database on the instance of SQL Server.
d.Create();
Console.WriteLine(d.Name);
}
Копирование объекта SMO на языке Visual Basic
В этом примере кода метод Copy используется для создания копии объекта Server. Объект Server представляет соединение с экземпляром SQL Server.
'Connect to the local, default instance of SQL Server.
Dim srv1 As Server
srv1 = New Server()
'Modify the default database and the timeout period for the connection.
srv1.ConnectionContext.DatabaseName = "AdventureWorks2008R2"
srv1.ConnectionContext.ConnectTimeout = 30
'Make a second connection using a copy of the ConnectionContext property and verify settings.
Dim srv2 As Server
srv2 = New Server(srv1.ConnectionContext.Copy)
Console.WriteLine(srv2.ConnectionContext.ConnectTimeout.ToString)
Копирование объекта SMO на языке Visual C#
В этом примере кода метод Copy используется для создания копии объекта Server. Объект Server представляет соединение с экземпляром SQL Server.
{
//Connect to the local, default instance of SQL Server.
Server srv1;
srv1 = new Server();
//Modify the default database and the timeout period for the connection.
srv1.ConnectionContext.DatabaseName = "AdventureWorks2008R2";
srv1.ConnectionContext.ConnectTimeout = 30;
//Make a second connection using a copy of the ConnectionContext property and verify settings.
Server srv2;
srv2 = new Server(srv1.ConnectionContext.Copy);
Console.WriteLine(srv2.ConnectionContext.ConnectTimeout.ToString);
}
Наблюдение за процессами сервера на языке Visual Basic
С помощью методов перечисления можно получить сведения о типе текущего состояния экземпляра SQL Server. В этом примере кода метод EnumProcesses используется для получения сведений о текущих процессах. В нем также показана работа со столбцами и строками в возвращаемом объекте DataTable.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Call the EnumCollations method and return collation information to DataTable variable.
Dim d As DataTable
'Select the returned data into an array of DataRow.
d = srv.EnumProcesses
'Iterate through the rows and display collation details for the instance of SQL Server.
Dim r As DataRow
Dim c As DataColumn
For Each r In d.Rows
Console.WriteLine("============================================")
For Each c In r.Table.Columns
Console.WriteLine(c.ColumnName + " = " + r(c).ToString)
Next
Next
Наблюдение за процессами сервера на языке Visual C#
С помощью методов перечисления можно получить сведения о типе текущего состояния экземпляра SQL Server. В этом примере кода метод EnumProcesses используется для получения сведений о текущих процессах. В нем также показана работа со столбцами и строками в возвращаемом объекте DataTable.
//Connect to the local, default instance of SQL Server.
{
Server srv = default(Server);
srv = new Server();
//Call the EnumCollations method and return collation information to DataTable variable.
DataTable d = default(DataTable);
//Select the returned data into an array of DataRow.
d = srv.EnumProcesses;
//Iterate through the rows and display collation details for the instance of SQL Server.
DataRow r = default(DataRow);
DataColumn c = default(DataColumn);
foreach ( r in d.Rows) {
Console.WriteLine("=================================");
foreach ( c in r.Table.Columns) {
Console.WriteLine(c.ColumnName + " = " + r(c).ToString);
}
}
}