2012-08-31 13 views
6

मैं नीचे इन 2 कॉलों को आजमा रहा हूं लेकिन उनमें से दोनों मुझे अपवाद देता है ग्राहक_आईडी डीबीएनयूएल की अनुमति नहीं देता है। वैल्यू। लेकिन जब मैं डीबग करता हूं, तो मुझे लगता है कि मेरे सभी रिकॉर्ड में ग्राहक_आईडी असाइन की गई है। यह एकमात्र ऐसा है जो मेरी डीबी तालिका पर परिभाषित नहीं है। उस त्रुटि का कारण क्या है?sqlbulkcopy - DBNull की अनुमति नहीं देता है। Value।?

bulkCopy.WriteToServer(myBookingDataTable) 

    bulkCopy.WriteToServer(myBookingss.ToArray()) 

मेरा पूरा कोड यहां है।

Using myConnection As SqlConnection = _ 
       New SqlConnection(connectionString) 
       myConnection.Open() 


       Using bulkCopy As SqlBulkCopy = _ 
        New SqlBulkCopy(My.Settings.ConnectionString(), SqlBulkCopyOptions.Default) 

        bulkCopy.DestinationTableName = "dbo.Booking" 

        Try 
         ' Write from the source to the destination. 
         bulkCopy.WriteToServer(myBookingDataTable) 

         'bulkCopy.WriteToServer(myBookingss.ToArray()) 

        Catch ex As Exception 
         Console.WriteLine(ex.Message) 

        Finally 

         bulkCopy.Close() 
        End Try 
       End Using 
+1

फ़ील्ड का क्रम स्रोत और लक्ष्य समान है? – Pleun

+0

@Pleun: आपकी मदद के लिए बहुत बहुत धन्यवाद। वास्तव में यह समस्या थी। मैं datetable परिभाषित करने के लिए dataset.xsd आइटम का उपयोग कर रहा हूं और हालांकि मैंने एक नया जोड़ा, यह किसी भी तरह से आदेश नहीं दिया गया था जैसा कि यह होना चाहिए था। लेकिन यह अजीब तरह का है कि क्यों sqlbulkcopy बहुत संवेदनशील है। क्या आप जवाब भी दे सकते हैं कि मैं आपकी टिप्पणी को सही उत्तर के रूप में स्वीकार करता हूं। एक बार फिर धन्यवाद। – batmaci

उत्तर

15

सुनिश्चित करें कि स्रोत और लक्ष्य में फ़ील्ड का क्रम समान है।

संबंधित मुद्दे