यहां एक संभावित विकल्प है जो दर्शाता है कि SQL सर्वर तालिका में समान परिभाषा वाली एकाधिक XML फ़ाइलों को कैसे लोड किया जाए। उदाहरण SQL Server 2008 R2 का उपयोग करता है और SSIS 2008 R2 . यहां दिखाया गया उदाहरण SSIS Data Flow Task का उपयोग करके तीन XML फ़ाइलों को SQL तालिका में लोड करता है XML Source . की सहायता से अवयव।
चरण-दर-चरण प्रक्रिया:
dbo.Itemsnamed नाम की एक टेबल बनाएं SQL Scripts के अंतर्गत दी गई स्क्रिप्ट का उपयोग करना अनुभाग।Items.xsdnamed नाम की एक XSD फ़ाइल बनाएं फ़ोल्डर पथ में C:\temp\xsd XSD फ़ाइल . के अंतर्गत प्रदान की गई सामग्री का उपयोग करना अनुभाग।- तीन XML फ़ाइलें बनाएं, जैसे
Items_1.xml,Items_2.xmlऔरItems_3.xmlफ़ोल्डर पथ में C:\temp\xml XML फ़ाइलें . के अंतर्गत प्रदान की गई सामग्री का उपयोग करना अनुभाग। - पैकेज पर, 3 वेरिएबल बनाएं, जिसका नाम है
FileExtension,FilePathऔरFolderPathजैसा कि स्क्रीनशॉट #1 . में दिखाया गया है । - पैकेज के कनेक्शन मैनेजर पर,
SQLServer. नाम का एक OLE DB कनेक्शन बनाएं स्क्रीनशॉट में दिखाए गए अनुसार SQL सर्वर इंस्टेंस से कनेक्ट करने के लिए #2 । Control Flowपर टैब में, एकForeach loop containerरखें और एकData Flow Taskफ़ोरैच लूप कंटेनर के भीतर जैसा कि स्क्रीनशॉट #3 . में दिखाया गया है ।Foreach Loop containerजैसा कि स्क्रीनशॉट में दिखाया गया है #4 और #5 ।Data Flow Taskपर डबल-क्लिक करेंData Flowपर नेविगेट करने के लिए टैब। एकXML Sourceरखें घटक और एकOLE DB Destinationजैसा कि स्क्रीनशॉट #6 . में दिखाया गया है ।XML Sourceकॉन्फ़िगर करें जैसा कि स्क्रीनशॉट #7 . में दिखाया गया है और #8 . XML फ़ाइल पथ को वेरिएबल FilePath . से पुनर्प्राप्त किया जाएगा . यह वेरिएबलForeach loop container. द्वारा पॉप्युलेट किया जाएगा . नोट: Visual Studio के बाद के संस्करणों में, XML स्रोत होगा ValidateExternalMetadata प्रॉपर्टी के कारण त्रुटि हुई। इसे ठीक करने के लिए, सिंगल क्लिक करें "XML स्रोत" फिर गुण और ValidateExternalMetadata को गलत पर सेट करें ।OLE DB Destinationकॉन्फ़िगर करें जैसा कि स्क्रीनशॉट में दिखाया गया है #9 और #10 ।- स्क्रीनशॉट #11 और #12 पैकेज निष्पादन दिखाएं।
- स्क्रीनशॉट #13 तालिका डेटा पहले . दिखाता है पैकेज निष्पादन। स्क्रीनशॉट #14 तालिका डेटा बाद . दिखाता है पैकेज निष्पादन। तालिका में डेटा
dbo.Itemsअब तीन एक्सएमएल फाइलों में मौजूद डेटा है।
आशा है कि यह मदद करता है।
एसक्यूएल स्क्रिप्ट:
CREATE TABLE [dbo].[Items](
[Id] [int] IDENTITY(1,1) NOT NULL,
[ItemNumber] [nvarchar](50) NOT NULL,
[ItemName] [nvarchar](60) NOT NULL,
[Price] [numeric](18, 2) NOT NULL,
CONSTRAINT [PK_Items] PRIMARY KEY CLUSTERED ([Id] ASC)) ON [PRIMARY]
GO
XSD फ़ाइल
<xsd:schema xmlns:schema="ItemsXSDSchema" xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:sqltypes="https://schemas.microsoft.com/sqlserver/2004/sqltypes" targetNamespace="ItemsXSDSchema" elementFormDefault="qualified">
<xsd:import namespace="https://schemas.microsoft.com/sqlserver/2004/sqltypes" schemaLocation="https://schemas.microsoft.com/sqlserver/2004/sqltypes/sqltypes.xsd" />
<xsd:element name="Items">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="Item">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Id" type="sqltypes:int" />
<xsd:element name="ItemNumber">
<xsd:simpleType>
<xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
<xsd:maxLength value="20" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="ItemName">
<xsd:simpleType>
<xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
<xsd:maxLength value="60" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Price">
<xsd:simpleType>
<xsd:restriction base="sqltypes:numeric">
<xsd:totalDigits value="18" />
<xsd:fractionDigits value="2" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
XML फ़ाइलें
आइटम_1.xml
<?xml version="1.0"?>
<Items xmlns="ItemsXSDSchema">
<Item>
<Id>1</Id>
<ItemNumber>I2345343</ItemNumber>
<ItemName>Monitor</ItemName>
<Price>299.99</Price>
</Item>
</Items>
आइटम_2.xml
<?xml version="1.0"?>
<Items xmlns="ItemsXSDSchema">
<Item>
<Id>1</Id>
<ItemNumber>J1231231</ItemNumber>
<ItemName>Mouse</ItemName>
<Price>29.99</Price>
</Item>
</Items>
आइटम_3.एक्सएमएल
<?xml version="1.0"?>
<Items xmlns="ItemsXSDSchema">
<Item>
<Id>1</Id>
<ItemNumber>K0456212</ItemNumber>
<ItemName>Keyboard</ItemName>
<Price>49.99</Price>
</Item>
</Items>
स्क्रीनशॉट #1:

स्क्रीनशॉट #2:

स्क्रीनशॉट #3:

स्क्रीनशॉट #4:

स्क्रीनशॉट #5:

स्क्रीनशॉट #6:

स्क्रीनशॉट #7:

स्क्रीनशॉट #8:

स्क्रीनशॉट #9:

स्क्रीनशॉट #10:

स्क्रीनशॉट #11:

स्क्रीनशॉट #12:

स्क्रीनशॉट #13:

स्क्रीनशॉट #14:
