由于某些原因,我的CREATE TABLE中出现Null值问题...它给了我这个错误消息:
Msg 4864,Level 16,State 1,Line 73
第4行第7行(管理员)的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。
这是我的代码和我使用的数据:
CREATE TABLE SalesReps
(
EmpNum SMALLINT NOT NULL ,
Name VARCHAR(20) NOT NULL,
Age TINYINT NOT NULL,
RepOffice TINYINT NULL,
Title VARCHAR(20) NULL,
HireDate DATE,
Manager INT NULL,
Quota MONEY NULL,
Sales MONEY DEFAULT 0
)
BULK INSERT SalesReps
FROM 'C:\Users\Steve\Desktop\salesreps.txt'
WITH ( FIELDTERMINATOR = '|',
ROWTERMINATOR = '\n')
数据:
105|Bill Adams|37|13|Sales Rep|02/12/88|104|350000.00|367911.00
109|Mary Jones|31|11|Sales Rep|10/12/89|106|300000.00|392725.00
102|Sue Smith|48|21|Sales Rep|12/10/86|108|350000.00|474050.00
106|Sam Clark|52|11|VP Sales|06/14/88|NULL|275000.00|299912.00
104|Bob Smith|33|12|Sales Mgr|05/19/87|106|200000.00|142594.00
101|Dan Roberts|45|12|Sales Rep|10/20/86|104|300000.00|305673.00
110|Tom Snyder|41|NULL|Sales Rep|01/13/90|101|NULL|75985.00
108|Larry Fitch|62|21|Sales Mgr|10/12/89|106|350000.00|361865.00
103|Paul Cruz|29|12|Sales Rep|03/01/87|104|275000.00|286775.00
107|Nancy Angelli|49|22|Sales Rep|11/14/88|108|300000.00|186042.00
有人可以帮忙吗?我查看了其他不匹配的页面,但它们并没有多大帮助。我已经被困在这几天了。
答案 0 :(得分:1)
第4行的批量插入包含值NULL,但我认为SQL Server将此解释为包含' NULL'的字符串。您可以尝试使用以下内容更改第4行:
106|Sam Clark|52|11|VP Sales|06/14/88||275000.00|299912.00
在第7行,你的列Quota
上也会遇到同样的问题,它需要一个MONEY类型,但是提供了一个包含NULL的字符串。