Συμπτώματα
Εξετάστε το ακόλουθο σενάριο:
-
Έχετε ένα συνδεδεμένο διακομιστή στο Microsoft SQL Server 2008 R2.
-
Υπάρχει ένας πίνακας στο συνδεδεμένο διακομιστή που έχει μια στήλη τύπου SMALLDATETIME.
-
Μπορείτε να εκτελέσετε μια πρόταση INSERT ή INSERT INTO για να εισαγάγετε μια εγγραφή που περιέχει δεδομένα τύπου DATETIME στον πίνακα.
Σε αυτό το σενάριο, η πρόταση αποτυγχάνει. Επιπλέον, εμφανίζεται το ακόλουθο μήνυμα σφάλματος:
Η υπηρεσία παροχής OLE DB "SQLNCLI10" για το συνδεδεμένο διακομιστή "LinkServerName " επέστρεψε το μήνυμα "Σφάλματα λειτουργίας OLE DB πολλαπλών βημάτων που δημιουργήθηκαν. Ελέγξτε κάθε τιμή κατάστασης OLE DB, εάν είναι διαθέσιμη. Δεν έγινε καμία δουλειά."Msg 7344, Level 16, State 1, Line 1Η υπηρεσία παροχής OLE DB "SQLNCLI10" για το συνδεδεμένο διακομιστή "LinkServerName" δεν ήταν δυνατή η ΕΙΣΑΓΩΓΉ ΣΤΟΝ πίνακα "TableName" λόγω της στήλης "ColumnName". Η μετατροπή απέτυχε επειδή η τιμή δεδομένων υπερχείλισε τον τύπο δεδομένων που χρησιμοποιείται από την υπηρεσία παροχής.
Αιτία
Αυτό το πρόβλημα παρουσιάζεται εξαιτίας ενός προβλήματος αντιστοίχισης τύπου δεδομένων στο SQL Server.
Επίλυση
Πληροφορίες συγκεντρωτικής ενημέρωσης
SQL Server 2008 R2 Service Pack 2
Η επιδιόρθωση για αυτό το πρόβλημα κυκλοφόρησε για πρώτη φορά στην Αθροιστική ενημέρωση 3. Για περισσότερες πληροφορίες σχετικά με τον τρόπο λήψης αυτού του πακέτου αθροιστικής ενημέρωσης για SQL Server 2008 R2 Service Pack 2, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο στη Γνωσιακή βάση της Microsoft:
2754552 Πακέτο αθροιστικής ενημέρωσης 3 για SQL Server 2008 R2 Service Pack 2Note Επειδή οι εκδόσεις είναι αθροιστικές, κάθε νέα έκδοση επιδιόρθωσης περιέχει όλες τις άμεσες επιδιορθώσεις και όλες τις επιδιορθώσεις ασφαλείας που περιλαμβάνονταν στο προηγούμενο SQL Server έκδοση επιδιόρθωσης 2008 R2 Service Pack 2. Συνιστάται να εξετάσετε το ενδεχόμενο εφαρμογής της πιο πρόσφατης έκδοσης επιδιόρθωσης που περιέχει αυτήν την άμεση επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για προβολή του άρθρου στη Γνωσιακή Βάση της Microsoft:
2730301 Οι SQL Server εκδόσεις 2008 R2 που κυκλοφόρησαν μετά την κυκλοφορία του service pack 2008 R2 του SQL Server 2008 R2
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για πρόβλημα στα προϊόντα της Microsoft που αναφέρονται στην ενότητα "Ισχύει για".
Λύση
Για να επιλύσετε το πρόβλημα, χρησιμοποιήστε μία από τις ακόλουθες μεθόδους:
-
Διανομή των δεδομένων τύπου DATETIME στον τύπο SMALLDATETIME στην πρόταση.
-
Αλλάξτε τη στήλη τύπου SMALLDATETIME στον τύπο DATETIME στο συνδεδεμένο διακομιστή.