سؤال

هل هناك طريق مباشر التي هي جميلة على التوالي إلى الأمام ؟ (أييمكن أن SQL Server قراءة XML)

أو هو أفضل تحليل XML و نقل فقط بالطريقة المعتادة عن طريق ADO.Net أما الصفوف الفردية أو ربما دفعة التحديث ؟

أدرك أنه قد يكون هناك الحلول التي تنطوي على مجمع كبير المخزنة procs-بينما أنا لست تماما بدلا من هذا, أنا أميل إلى يفضل أن يكون أكثر من منطق الأعمال في التعليمات البرمجية C#.لقد رأيت الحل باستخدام SQLXMLBulkLoad, ولكن يبدو أن تتطلب معقدة إلى حد ما SQL البرمجية.

للإشارة ، سأعمل مع حوالي 100 الصفوف في وقت واحد مع حوالي 50 قطعة صغيرة من البيانات لكل (سلاسل رجات).هذا وسوف تصبح في نهاية المطاف اليومية المهمة الدفعي.

أي مقتطفات الشفرة يمكنك توفير سيكون محل تقدير كبير جدا.

هل كانت مفيدة؟

المحلول

وSQL Server 2005 و حتى يكون نوع بيانات تسمى "XML" التي يمكنك تخزين XML في - بلا نوع أو كتابتها مع مخطط XSD

ويمكنك ملء أساسا الأعمدة من نوع XML من سلسلة حرفية XML، بحيث يمكنك بسهولة مجرد استخدام عبارة INSERT العادي وملء محتويات XML في هذا المجال.

ومارك

نصائح أخرى

ويمكنك استخدام OPENXML وظيفة وتخزينها sp_xml_preparedocument إجراء تحويل XML الخاصة بك بسهولة في rowsets.

إذا كنت تستخدم SQL Server 2008 (أو 2005)، ولديه نوع البيانات الأصلي xml. يمكنك ربط مخطط XSD مع المتغيرات xml، وأدخل مباشرة إلى أعمدة من نوع xml.

نعم SQL Server 2005 وما فوق يمكن تحليل XML في الخروج من مربع.

يمكنك استخدام العقد والقيمة طرق الاستعلام إلى كسر عليه كيف تريد سواء القيم أو سمات

بعض وقح توصيل:

وبيانات XML ومستند XML يمكن أن يكون لها معنى مختلف. عندما نوع أكس هو جيد للبيانات، فإنه لا يحفظ تنسيق (المساحات البيضاء إزالتها)، وذلك في بعض الحالات (مثل cofiguration الملفات) فإن أفضل خيار هو NVARCHAR.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top