BCP: غير قادر على حل مجموعات مستوى العمود

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

  •  19-09-2019
  •  | 
  •  

سؤال

تشغيل هذا:

bcp MyDb.dbo.uvwMyView out "c:\Test.txt" -SMyServer -T -c

أحصل على هذا الخطأ:

SQLState = S1000, NativeError = 0
Error = [Microsoft][SQL Native Client]Unable to resolve column level collations 

يبحث البحث عن Google العديد من الحلول الممكنة، أي منها يعمل بالنسبة لي أو عملت لأي من الأشخاص الذين تم اقتراحهم. كما هو الحال مع الحالات الأخرى المنشورة على الإنترنت، فإن الرؤية لا تسبب أي مشاكل عندما اخترت منه في استوديو الإدارة وتبدو النتائج طبيعية (وليس لديك أحرف خاصة، قمت بفحصها). عمود نص واحد في النتائج لديه الترتيب SQL_Latin1_General_CP1_CS_AS. وبعد لقد جربت العديد من الخيارات إلى BCP دون أي تأثير: -W، -Craw، -Coem، -C850، -C437.

أنا أستخدم SQL Server 2005.

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

المحلول

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

نصائح أخرى

وأنا أعلم أن هذا السؤال قد أجاب بالفعل ولكن سأضيف 2 سنتا ... لقد صادفت هذا اليوم، حيث أضفت طباعة @ varableName وفي البحث وجدت هذا:

من MS Connect.

إزالة الطباعة تم إصلاح مشكلتي.

  • قد تحاول الاتصال عن بعد بالخادم وتشغيل BCP بدون خيار -s من هناك.
  • إذا كان تجميع الخادم يختلف عن قاعدة البيانات أو Columnation، فحاول إنشاء ملف التنسيق وحدده بشكل صريح في BCP.

كنت أستخدم أدوات SQL 2005 مقابل قاعدة بيانات SQL 2008 R2، وحصلت على نفس الخطأ عند الاستخدام datetimeoffset مجالات.

جرب هذه:

declare @sql varchar(8000)
select @sql = 'bcp "select * from database_name.dbo.table_name" queryout      H:\Tempfile_DTU_proc\test1.csv -c -t, -T -S' + @@servername

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