次の方法で共有


XML スキーマの使用方法

SMO で使用できる XML プログラミングの機能は、XML データ型および XML 名前空間の提供、および XML データ型の列での簡易インデックス作成に限定されています。

MicrosoftSQL Server では、XML ドキュメント インスタンスのネイティブ ストレージが提供されます。XML スキーマを使用すると、複雑な XML データ型を定義することができます。これを使用して、XML ドキュメントを検証し、データの整合性を確保することができます。XML スキーマは、XmlSchemaCollection オブジェクトで定義します。

提供されているコード例を使用するには、アプリケーションを作成するプログラミング環境、プログラミング テンプレート、およびプログラミング言語を選択する必要があります。詳細については、「Visual Studio .NET で Visual Basic SMO プロジェクトを作成する方法」または「Visual Studio .NET で Visual C# SMO プロジェクトを作成する方法」を参照してください。

Visual Basic での XML スキーマの作成

このコード例では、XmlSchemaCollection オブジェクトを使用して XML スキーマを作成する方法を示します。XML スキーマ コレクションを定義する Text プロパティは、複数の二重引用符記号を格納しています。これらは chr(34) 文字列に置き換えられます。

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server()
'Reference the AdventureWorks database.
Dim db As Database
db = srv.Databases("AdventureWorks")
'Define an XmlSchemaCollection object by supplying the parent database and name arguments in the constructor.
Dim xsc As XmlSchemaCollection
xsc = New XmlSchemaCollection(db, "MySampleCollection")
xsc.Text = "<schema xmlns=" + Chr(34) + "http://www.w3.org/2001/XMLSchema" + Chr(34) + "  xmlns:ns=" + Chr(34) + "http://ns" + Chr(34) + "><element name=" + Chr(34) + "e" + Chr(34) + " type=" + Chr(34) + "dateTime" + Chr(34) + "/></schema>"
'Create the XML schema collection on the instance of SQL Server.
xsc.Create()

Visual C# での XML スキーマの作成

このコード例では、XmlSchemaCollection オブジェクトを使用して XML スキーマを作成する方法を示します。XML スキーマ コレクションを定義する Text プロパティは、複数の二重引用符記号を格納しています。これらは chr(34) 文字列に置き換えられます。

//Connect to the local, default instance of SQL Server. 

{ 
   Server srv = default(Server); 
   srv = new Server(); 
   //Reference the AdventureWorks database. 
   Database db = default(Database); 
   db = srv.Databases("AdventureWorks"); 
   //Define an XmlSchemaCollection object by supplying the parent
   // database and name arguments in the constructor. 
   XmlSchemaCollection xsc = default(XmlSchemaCollection); 
   xsc = new XmlSchemaCollection(db, "MySampleCollection"); 
   xsc.Text = "<schema xmlns=" + Strings.Chr(34) + "http://www.w3.org/2001/XMLSchema" + Strings.Chr(34) + " xmlns:ns=" + Strings.Chr(34) + "http://ns" + Strings.Chr(34) + "><element name=" + Strings.Chr(34) + "e" + Strings.Chr(34) + " type=" + Strings.Chr(34) + "dateTime" + Strings.Chr(34) + "/></schema>"; 
   //Create the XML schema collection on the instance of SQL Server. 
   xsc.Create(); 
}