डाला गया है, मैं SQL Server डीबी में सी # कोड से SQLXMLBulkLoader4 का उपयोग करने का प्रयास कर रहा हूं। लेकिन किसी कारण से यह किसी भी त्रुटि को फेंकने के बावजूद किसी भी पंक्ति को सम्मिलित नहीं करता है। मैंने bullloads की अपनी त्रुटि लॉग फ़ाइल का उपयोग किया है, (किसी भी त्रुटि की जांच करने के लिए जो इसे क्रैश नहीं कर सकता है), लेकिन कोई त्रुटि रिपोर्ट नहीं की गई है।एसक्यूएलएक्सएमएल बल्कलोडर कोई त्रुटि नहीं फेंक रहा है लेकिन कोई डेटा
मेरे पास एक एक्सएमएल फ़ाइल है जो एक सप्लायर (मूल रूप से उत्पादों की एक सूची) से डाउनलोड की गई है, मैंने फ़ील्ड से हमारे डीबी में मिलान करने के लिए एक एक्सएसडी लिखा है। उन विशिष्ट तालिकाओं को और कुछ नहीं लिख रहा है, और उन फ़ाइलों का उपयोग करके और कुछ नहीं।
public void Bulkload(string schemaFile, string xmlFile, string source)
{
SQLXMLBULKLOADLib.SQLXMLBulkLoad4 bulkload = new SQLXMLBULKLOADLib.SQLXMLBulkLoad4();
try
{
bulkload.ConnectionString = "Provider=sqloledb;server=X;database=X;uid=X;pwd=X";
bulkload.ErrorLogFile = k_ArticleInfoDirectory + source + "BulkLoadError.log";
bulkload.KeepIdentity = false;
bulkload.Execute(schemaFile, xmlFile);
}
catch (Exception e)
{
Console.WriteLine("Fel i BL: " + e);
throw;
}
finally
{
bulkload = null;
}
}
एक्सएमएल इस (नीचे छीन तरह लग रहा है, नीचे सब कुछ बस कुछ और उत्पाद-क्षेत्रों और है:
मेरे BulkLoad कोड के रूप में इस प्रकार है (मैं वास्तविक कनेक्शन स्ट्रिंग मूल्यों बाहर X'ed) लग रहा है तो और अधिक उत्पादों):
<?xml version="1.0" encoding="utf-8"?>
<GetProductsResult xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Status xmlns="http://schemas.servicestack.net/types">
<Code>0</Code>
<Message>Ok</Message>
</Status>
<NumberOfProducts xmlns="http://schemas.servicestack.net/types">9826</NumberOfProducts>
<Products xmlns="http://schemas.servicestack.net/types">
<Product>
<ProductID>1000002</ProductID>
<CreatedDate>2011-11-24 15:54</CreatedDate>
<UpdatedDate>2011-11-24 15:54</UpdatedDate>
<Title>Vi tolererar inga förlorare - klanen Kennedy</Title>
<Publisher>Piratförlaget</Publisher>
... And some more fields per Product
XSD मैं) इस (फिर छोटा जैसी लगती है लिखा है:
<?xml version="1.0" encoding="iso-8859-1"?>
<xs:schema targetNamespace="http://schemas.servicestack.net/types" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xs:annotation>
<xs:appinfo>
<sql:relationship name="Status"
parent="tblElibProduct"
parent-key="id"
child="tblElibStatus"
child-key="product_id" />
... + Several other sql:relationships
</xs:appinfo>
</xs:annotation>
<xs:element name="GetProductsResult" sql:is-constant="1">
<xs:complexType>
<xs:sequence>
<xs:element name="Status" sql:is-constant="1">
<xs:complexType>
<xs:sequence>
<xs:element name="Code" type="xs:integer" minOccurs="0" />
<xs:element name="Message" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NumberOfProducts" type="xs:string" sql:is-constant="1"/>
<xs:element name="Products" sql:is-constant="1">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Product" sql:relation="tblElibProduct">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="CreatedDate" type="xs:date" sql:field="created_date" />
<xs:element minOccurs="1" maxOccurs="1" name="UpdatedDate" type="xs:date" sql:field="updated_date" />
<xs:element minOccurs="1" maxOccurs="1" name="Title" type="xs:string" sql:field="title" />
मैंने नामस्थानों पर खुद को अंधेरा देखा है, लेकिन वे मेरे लिए सही लग रहे हैं। (ऐसी कई त्रुटियों के बारे में पढ़ें जहां विभिन्न नामस्थान कारण थे)। कोड मेरे कंप्यूटर से चल रहा है, मेरे कंप्यूटर और डीबी के साथ एक को एक्सएमएल और एक्सएसडी फाइलों के साथ नेटवर्क फ़ोल्डर तक पहुंच है।
मैंने जानबूझकर दोनों फाइलों में कुछ फ़ील्ड-नामों को बदलने की कोशिश की है, और बल्कलोडर फ़ील्ड पर एक त्रुटि फेंकने की कोशिश करता है जिसे मैंने अभी बदल दिया है।
मैंने नेट पर पाए गए उदाहरणों के लिए अपने बल्कलोडर कोड और एक्सएसडी दोनों की तुलना की है, और मुझे इस व्यवहार के लिए कोई फर्क नहीं पड़ता है।
शायद यह कुछ आसान है जो मैं देख रहा हूं, लेकिन मैं इसे एटीएम नहीं देख रहा हूं।
सही दिशा में मुझे इंगित करने में कोई भी मदद गहराई से स्वागत है।
अग्रिम धन्यवाद!
(पी एस क्षमा करता है, तो पोस्ट किसी तरह से बंद है, यह मेरी पहली बार यहाँ पोस्टिंग, मैं फिर भी मेरी अनुसंधान कर किया है और मैं = कैसे पोस्ट करने के लिए पर दिशा निर्देशों का पालन करने की कोशिश की थी))
वह टिकट था! G'dang नामस्थान मेरे दिन बर्बाद कर रहे हैं ... त्वरित उत्तर के लिए धन्यवाद! =) – MrWizard