Share via


瞭解 XML 格式檔案

Microsoft SQL Server 2005 及更新的版本會提供 XML 結構描述,以定義撰寫「XML 格式檔案」的語法。XML 格式檔案必須遵守以 XML 結構描述定義語言 (XSDL) 定義的這個結構描述。只有在同時安裝 SQL Server 工具和 SQL Server Native Client 時,才能支援 XML 格式檔案。

[!附註]

SQL Server 2005 及更新的版本支援兩種格式檔案。相較之下,Microsoft SQL Server 2000 及舊版只支援單一類型的格式檔案。為了區別預先存在的類型與 XML 格式檔案,預先存在類型的格式檔案稱為「非 XML 格式檔案」。

您可以使用 XML 格式檔案,大量匯入資料至資料表或非資料分割檢視中及大量匯出資料。XML 格式檔案是非 XML 格式檔案的替代方式,後者在 SQL Server 2000 及舊版中有支援,而且目前仍然受到支援。XML 格式檔案比非 XML 格式檔案更有彈性,而且功能更強大。XML 格式檔案容易了解和建立。不僅如此,XML 格式檔案容易讀懂,對於大量作業期間資料是如何解譯的,您一目了然。XML 編碼清楚描述資料檔的資料類型和資料元素,以及資料元素和資料表資料行之間的對應關係。

XML 格式檔案雖然功能增強,但仍保持與其舊版的相容性。此外,XML 清楚的編碼方式,有利於建立所指定的資料檔的多個格式檔案。如果您需要將資料欄位的全部或部分對應到不同資料表或檢視中的資料行,這會很有用。

bcp 命令可讓您自動產生資料表的 XML 格式檔案;如需詳細資訊,請參閱<bcp 公用程式>。

XML 格式檔案的結構

就像非 XML 格式檔案一樣,XML 格式檔案也定義資料檔中資料欄位的格式和結構,並將那些資料欄位對應到單一目標資料表中的資料行。

XML 格式檔案擁有兩個主要元件:<RECORD> 和 <ROW>:

  • <RECORD> 描述儲存在資料檔中的資料。

    每個 <RECORD> 元素包含一或多個 <FIELD> 元素組成的集合。這些元素對應到資料檔案中的欄位。基本語法如下:

    <RECORD>

       <FIELD .../> [ ...n ]

    </RECORD>

    每一個 <FIELD> 元素描述特定資料欄位的內容。一個欄位只能對應到資料表的一個資料行。並非所有欄位都需要對應到資料行。

    資料檔中的欄位可以是固定/可變長度或以字元終止。「欄位值」可以如此表示:一個字元 (使用單一位元組表示法)、一個寬字元 (使用 Unicode 雙位元組表示法)、原生資料庫格式或一個檔案名稱。如果欄位值是以檔案名稱表示,則檔案名稱指向包含目標資料表中 BLOB 資料行的值的檔案。

  • <ROW> 描述當資料檔中的資料匯入 SQL Server 資料表時,如何從資料檔建構資料列。

    <ROW> 元素包含一組 <COLUMN> 元素。這些元素對應到資料表資料行。基本語法如下:

    <ROW>

       <COLUMN .../> [ ...n ]

    </ROW>

    每個 <COLUMN> 元素都只能對應至資料檔中的一個欄位。<ROW> 元素中 <COLUMN> 元素的順序會定義大量作業傳回這些元素的順序。XML 格式檔案會將本機名稱指派給每個 <COLUMN> 元素,而此名稱與大量匯入作業之目標資料表中的資料行沒有任何關聯性。

其他主題