यहां एक संभावित विकल्प है जो दर्शाता है कि SQL सर्वर तालिका में समान परिभाषा वाली एकाधिक XML फ़ाइलों को कैसे लोड किया जाए। उदाहरण SQL Server 2008 R2
का उपयोग करता है और SSIS 2008 R2
. यहां दिखाया गया उदाहरण SSIS Data Flow Task
का उपयोग करके तीन XML फ़ाइलों को SQL तालिका में लोड करता है XML Source
. की सहायता से अवयव।
चरण-दर-चरण प्रक्रिया:
dbo.Items
named नाम की एक टेबल बनाएं SQL Scripts के अंतर्गत दी गई स्क्रिप्ट का उपयोग करना अनुभाग।Items.xsd
named नाम की एक 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="http://www.w3.org/2001/XMLSchema" xmlns:sqltypes="http://schemas.microsoft.com/sqlserver/2004/sqltypes" targetNamespace="ItemsXSDSchema" elementFormDefault="qualified">
<xsd:import namespace="http://schemas.microsoft.com/sqlserver/2004/sqltypes" schemaLocation="http://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: