كيفية استيراد إلى SQL Server 2005 من ملف مسطح مع تحويلات البيانات

StackOverflow https://stackoverflow.com/questions/1189043

سؤال

لدي ملف بيانات مسطح أحتاج إلى استيراده إلى SQL Server 2005 DB.

يجب تقسيم العديد من الحقول إلى جداول مختلفة ذات صلة. على سبيل المثال، يحتوي الملف المسطح على أسماء وعناوين وأرقام هواتف، كل ذلك في سجل واحد. في بلدي ديسيبل، Person الجدول لديه الكثير Telephones و Addresses.

هل هناك عملية خطوة واحدة حيث يمكنني استيراد كل شيء في جداول بلدي، أو هل يجب علي أولا استيرادها إلى جدول جديد في DB (UGH - التلوث إذا نسيت حذفه)، واستيراد البيانات من هناك باستخدام بيانات SQL وجداول TEMP؟

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

المحلول

أنا أفضل جدول الاستيراد واحد، تليها الانقسام في الجداول النهائية. كنت أستمر أيضا في جدول الاستيراد بدلا من إنشاء / حذفه في كل مرة.

  • أسهل في التعامل مع القيود (تحقق قبل الإدراج في الجدول النهائي أو تحديث الصف الحالي)
  • أسهل في ترك خطأ في إنشاء البيانات في جدول الاستيراد بعد إزالة الصفوف الناجحة
  • معاملة جانب الخادم
  • سلامة نوع البيانات: هل يمكنك أن تثق 100٪ المصدر الخاص بك؟
  • أسهل في ISNULL أو Nullif في SQL للتعامل مع سلاسل فارغة وغيرها
  • وغيرها من الأشياء التي لا أستطيع التذكر الآن ...

نصائح أخرى

هذا هو الوظيفة تماما ل SQL Server Integration Services. وبعد لديها بعض الوظائف الرائعة التي تسمح لك بالاستيلاء على ملف مسطح، قم بمعالجة البيانات على ذلك، واستيرادها في النهاية إلى DB الجديد الخاص بك.

لسوء الحظ، ليس هناك حل سهل "الإصلاح السريع" الذي أعرفه خارج ذلك. هناك التكنولوجيا التي أود أن أنظر إليها أولا.

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