Triệu chứng
Hãy xem xét tình huống sau:
-
Bạn có một máy chủ được liên kết trong Microsoft SQL Server 2008 R2.
-
Có một bảng trên máy chủ được liên kết có cột kiểu SMALLDATETIME.
-
Bạn chạy câu lệnh INSERT hoặc INSERT INTO để chèn bản ghi có chứa dữ liệu kiểu DATETIME vào bảng.
Trong trường hợp này, các tuyên bố không. Ngoài ra, bạn nhận được thông báo lỗi sau:
Nhà cung cấp OLE DB "SQLNCLI10" cho máy chủ nối kết "LinkServerName " thông báo trả về "Thao tác OLE DB nhiều bước đã tạo ra lỗi. Kiểm tra từng giá trị trạng thái OLE DB, nếu có. Không có công việc nào được thực hiện.".Msg 7344, Level 16, State 1, Line 1The OLE DB provider "SQLNCLI10" for linked server "LinkServerName" could not INSERT INTO table "TableName" because of column "ColumnName". Chuyển đổi không thành công vì giá trị dữ liệu tràn qua kiểu dữ liệu được nhà cung cấp sử dụng.
Nguyên nhân
Sự cố này xảy ra do sự cố ánh xạ kiểu dữ liệu SQL Server.
Giải pháp
Thông tin cập nhật tích lũy
SQL Server 2008 R2 Gói Dịch vụ 2
Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong Bản cập nhật Tích lũy 3. Để biết thêm thông tin về cách nhận gói cập nhật tích lũy này cho SQL Server 2008 R2 Gói Dịch vụ 2, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
2754552 Gói cập nhật tích lũy 3 cho SQL Server 2008 R2 Gói Dịch vụ 2Note Vì các bản dựng được tích lũy, mỗi bản phát hành bản sửa lỗi mới chứa tất cả các cập nhật nóng và tất cả các bản sửa lỗi bảo mật được bao gồm trong bản phát hành sửa lỗi SQL Server 2008 R2 Gói Dịch vụ 2 trước đó. Chúng tôi khuyên bạn nên cân nhắc việc áp dụng bản phát hành sửa lỗi mới nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:
2730301 Bản dựng SQL Server 2008 R2 mới được phát hành sau SQL Server 2008 R2 Gói Dịch vụ 2 được phát hành
Trạng thái
Microsoft đã xác nhận đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".
Cách giải quyết
Để khắc phục sự cố này, hãy sử dụng một trong các phương pháp sau đây:
-
Truyền dữ liệu kiểu DATETIME sang kiểu SMALLDATETIME trong câu lệnh.
-
Thay đổi cột kiểu SMALLDATETIME thành kiểu DATETIME trên máy chủ được liên kết.