Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Lỗi chuyển đổi dữ liệu tải hàng loạt (loại ký tự không khớp hoặc không hợp lệ cho mã hóa được chỉ định) cho hàng 1, cột 4 (Năm)

Hãy thử sử dụng tệp định dạng vì tệp dữ liệu của bạn chỉ có 4 cột. Nếu không, hãy thử OPENROWSET hoặc sử dụng bảng phân giai đoạn.

myTestFormatFiles.Fmt có thể giống như sau:

9.0
4
1       SQLINT        0       3       ","      1     StudentNo      ""
2       SQLCHAR       0       100     ","      2     FirstName      SQL_Latin1_General_CP1_CI_AS
3       SQLCHAR       0       100     ","      3     LastName       SQL_Latin1_General_CP1_CI_AS
4       SQLINT        0       4       "\r\n"   4     Year           "


(nguồn:microsoft.com)

Hướng dẫn này về cách bỏ qua một cột với BULK INSERT cũng có thể hữu ích.

Khi đó, tuyên bố của bạn sẽ giống như sau:

USE xta9354
GO
BULK INSERT xta9354.dbo.Students
    FROM 'd:\userdata\xta9_Students.txt' 
    WITH (FORMATFILE = 'C:\myTestFormatFiles.Fmt')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thuật toán để tránh SQL injection trên MSSQL Server từ mã C #?

  2. SQL JOIN so với IN hiệu suất?

  3. Có cách nào để lặp qua biến bảng trong TSQL mà không sử dụng con trỏ không?

  4. SQL Server:Ví dụ về dữ liệu chuỗi PIVOTing

  5. Cách tạo khóa chính trong SQL Server (Ví dụ T-SQL)