SMO 中的 XML 程式設計僅限於在 XML 資料類型資料行上提供 XML 資料類型、XML 命名空間和簡單的索引。
Microsoft SQL Server 提供 XML 文件實例的原生記憶體。 XML 架構可讓您定義複雜的 XML 資料類型,可用來驗證 XML 檔以確保資料完整性。 XML 架構定義於物件中 XmlSchemaCollection 。
範例
若要使用提供的任何程式代碼範例,您必須選擇程式設計環境、程式設計範本,以及用來建立應用程式的程式設計語言。 如需詳細資訊,請參閱 在 Visual Studio .NET 中建立 Visual Basic SMO 專案 或 在 Visual Studio .NET 中建立 Visual C# SMO 專案。
在 Visual Basic 中建立 XML 架構
此程式代碼範例示範如何使用 物件建立 XML 架構 XmlSchemaCollection 。 定義 Text XML 架構集合的屬性包含數個雙引號。 這些會由 chr(34) 字串取代。
在 Visual C 中建立 XML 架構#
此程式代碼範例示範如何使用 物件建立 XML 架構 XmlSchemaCollection 。 定義 Text XML 架構集合的屬性包含數個雙引號。 這些會由 chr(34) 字串取代。
{
//Connect to the local, default instance of SQL Server.
Server srv = default(Server);
srv = new Server();
//Reference the AdventureWorks2012 database.
Database db = default(Database);
db = srv.Databases["AdventureWorks2012"];
//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();
}
在 PowerShell 中建立 XML 架構
此程式代碼範例示範如何使用 物件建立 XML 架構 XmlSchemaCollection 。 定義 Text XML 架構集合的屬性包含數個雙引號。 這些會由 chr(34) 字串取代。
#Get a server object which corresponds to the default instance replace LocalMachine with the physical server
cd \sql\LocalHost
$srv = Get-Item default
#Reference the AdventureWorks database.
$db = $srv.Databases["AdventureWorks2012"]
#Create a new schema collection
$xsc = New-Object -TypeName Microsoft.SqlServer.Management.SMO.XmlSchemaCollection `
-argumentlist $db,"MySampleCollection"
#Add the xml
$dq = '"' # the double quote character
$xsc.Text = "<schema xmlns=" + $dq + "http://www.w3.org/2001/XMLSchema" + $dq + `
" xmlns:ns=" + $dq + "http://ns" + $dq + "><element name=" + $dq + "e" + $dq +`
" type=" + $dq + "dateTime" + $dq + "/></schema>"
#Create the XML schema collection on the instance of SQL Server.
$xsc.Create()