سؤال

أحتاج إلى تصدير بعض البيانات باستخدام الأداة المساعدة BCP Server 2000. في بعض الأحيان تحتوي بياناتي على أحرف ، مثل t و n ، والتي أحتاج إلى استخدامها كأعمدة ومقدمة صف. كيف يمكنني الحصول على BCP للهروب من الأحرف التي تستخدمها كمقصات لأنها تخرج البيانات ، بحيث يمكنني بالفعل استيراد البيانات في برنامج آخر؟

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

هذا يبدو وكأنه جدا ، جدا ، جداً الوظيفة الأساسية لتضمينها في مصدر البيانات ، ولكن لا شيء من خيارات سطر الأوامر يبدو أن تذكرها. (لماذا لن يكون مجرد الافتراضي هو أبعد مني.) هل أفتقد شيئًا؟

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

المحلول

لا يمكن أن يكون لديك بيانات تحتوي على علامات تبويب وخطوط جديدة مع علامات التبويب وفواصل الخط الجديد. لا معنى له. الهروب لن يساعد ، لأن علامة التبويب عبارة عن علامة تبويب. نحن لا نتحدث عن معالجة سلسلة C# هنا.

ما سأفعله هو استخدام محطات مختلفة مثل | و ||/n, ، أو استخدم أ ملف تنسيق

نصائح أخرى

أتفق معك تمامًا: يجب أن يكون الهروب خيارًا. "لا يمكنك الحصول على بيانات مع علامات تبويب أو خطوط جديدة" هو أغلى شيء سمعته على الإطلاق.

هنا حل ممكن:

  1. استخدم خيار -R لتعيين Terminator خط مختلف. شيئا ما
    من غير المرجح أن تكون حاضرة في بياناتك (#!#$#٪#). أعتقد أنه يمكنك استخدام متعدد
    الشخصيات ، بحيث يجعل الأمر أسهل.
  2. افتح ملف البيانات الخاص بك في SED ، محرر نصفي قادر ، أو اكتب برنامج نصي - واستبدل أي حرف n و t مع ما يعادلها الهرب ( n و t). أخيرًا ، استبدل Terminator الخاص بك بـ n ويجب أن تكون جيدًا.
  3. أعتقد أن نفس الشيء يجب أن ينطبق على استخدام -T لمحوطي الميدان

ألق نظرة على هذه المقالة لمزيد من المعلومات.

يمكنك استخدام فاصل مكون من شخصيات متعددة إذا وضعتها بين عروض الأسعار المزدوجة:

bcp MY_TABLE out C:\MY_FILE.txt -S SERVER_IP -d DB_NAME -U MY_USER -P MY_PASSWORD -w -t "&#)^@" -r ">~+!"

وجدت الحل هنا.

لدي نفس المشكلة وفتشت وقتًا طويلاً للعثور على حل. لقد وجدت هذا واحد من Master BCP ويبدو معقول. ربما تريد تجربتها أيضًا.

حل ممكن: http://groups.google.co.uk/group/microsoft.public.sqlserver.tools/tree/browse_frm/thread/f1EE12CBA3079189/EF9094123901FE26؟RNUM=SLINDAWITOWOTOFIT .Tools ٪ 2fbrowse_frm ٪ 2fthread ٪ 2ff1EE1E2CBA3079189 ٪ 2FEF9094123901FE26 ٪ 3FTVC ٪ 3D1 ٪ 2Q ٪ 3DLINDAWIE ٪ 2BFORMAT ٪ 2BFILE

تنسيق تفاصيل الملف والتصميم:http://msdn.microsoft.com/en-us/library/aa173859٪28sql.80٪29.aspx

بشكل عام ، يمكنني أن أقترح هذه الروابط للحصول على مشكلات وحلول BCP:http://groups.google.co.uk/groups؟q=lindawie+format+file

مع أطيب التحيات

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