أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

ظهور رسالة خطأ عند استخدام فئة SqlBulkCopy لنسخ البيانات من مورد إلى جدول بيانات في .NET Framework 2.0: "System.InvalidOperationException: فشل في الحصول على معلومات ترتيب نسخ عمود للجدول الوجهة"

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

اضغط هنا لرابط المقالة باللغة الانجليزية944389
الأعراض
في أحد تطبيقات Microsoft .NET Framework 2.0 استخدام فئة SqlBulkCopy لنسخ البيانات من System.Data.DataTable إلى جدول في Microsoft SQL Server. يحتوي اسم الجدول على حرف نقطة (.) ، تظهر رسالة الخطأ التالية:
تم System.InvalidOperationException لم تتم معالجته
رسالة = "فشل الحصول على معلومات ترتيب العمود في الجدول الوجهة. إذا لم يكن الجدول في قاعدة البيانات الحالية يجب أن يكون مؤهلاً الاسم باستخدام اسم قاعدة البيانات (على سبيل المثال [mydb]..[mytable](على سبيل المثال [mydb]..[mytable]); ينطبق هذا أيضاً إلى الجداول المؤقتة (#mytable على سبيل المثال هل يمكن المعينة على أنها tempdb..#mytable). "
Source="System.Data"
السبب
تحدث هذه المشكلة بسبب مشكلة في System.Data.dll الملف.
الحل البديل
للتغلب على هذه المشكلة قم تجنب نقطة أحرف (.) في أسماء الجداول.

إذا كان من الضروري استخدام حرف نقطة (.) في اسم جدول استخدام حرف النقطة (.) كجزء من اصطلاح التسمية SQL. على سبيل المثال، باستخدام اسم جدول مشابهة لما يلي:
server.database.schema. tablename
تصريح
أقرت Microsoft أن هذه مشكلة في منتجات Microsoft المسردة في قسم "تنطبق على".
معلومات أخرى

خطوات إعادة إنشاء السلوك

  1. في قاعدة بيانات Northwind تشغيل عبارة SQL التالية: حدد
    select * into [test.33] where 1 = 0--Create a table named [test.33].
  2. إنشاء تطبيق Visual C# ثم قم بتشغيل التعليمات البرمجية التالية:
    static void Main(string[] args)        {            SqlConnection con = new SqlConnection("Integrated Security=SSPI;Initial Catalog=Northwind;Data Source=.");            con.Open();            SqlConnection dst = new SqlConnection("Integrated Security=SSPI;Initial Catalog=Northwind;Data Source=.");            dst.Open();            SqlCommand com = new SqlCommand("select * from customers", con);            SqlDataReader dr = com.ExecuteReader();            SqlBulkCopy sbc = new SqlBulkCopy(dst);            sbc.DestinationTableName = "Northwind.dbo.[Test.33]";            sbc.WriteToServer(dr); // The failure occurs here.            dst.Close();            con.Close();        }

معلومات مكدس المكالمة

at System.Data.SqlClient.SqlBulkCopy.AnalyzeTargetAndCreateUpdateBulkCommand(BulkCopySimpleResultSet internalResults)       at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternal()       at System.Data.SqlClient.SqlBulkCopy.WriteRowSourceToServer(Int32 columnCount)       at System.Data.SqlClient.SqlBulkCopy.WriteToServer(IDataReader reader)

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 944389 - آخر مراجعة: 01/03/2008 16:28:59 - المراجعة: 2.1

Microsoft .NET Framework 2.0, Microsoft .NET Framework 3.0, Microsoft .NET Framework 3.5

  • kbmt kbexpertiseadvanced kbtshoot kbprb KB944389 KbMtar
تعليقات
&t=">0].appendChild(m);