【发布时间】:2015-09-28 19:49:42
【问题描述】:
我在将数据从 csv 文件插入到我的 SQL 数据库时遇到了这个问题。 我只是不明白为什么当我已经替换了一些不需要的字符时会出现错误。它应该可以插入,但我收到了这个错误。
“消息 4864,第 16 级,状态 1,第 1 行 第 1 行第 13 列 (creditLimit) 的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。"
这是我的创建表:
CREATE TABLE Customers(
customerNumber integer NOT NULL,
customerName varchar(50) NOT NULL,
customerLastName varchar(50) NOT NULL,
customerFirstName varchar(50) NOT NULL,
Phone varchar(50) NOT NULL,
addressLine1 varchar(50) NOT NULL,
addressLine2 varchar(50) NULL,
city varchar(50) NOT NULL,
[state] varchar(50) NULL,
postalCode varchar(15) NOT NULL,
country varchar(50) NOT NULL,
salesRepEmployeeNumber integer NOT NULL,
creditLimit double precision NOT NULL
PRIMARY KEY(customerNumber) );
这是我的 csv 文件的前几行:
第一行 - 103,Atelier graphique,Schmitt,Carine ,40.32.2555,54 rue Royale,NULL,Nantes,NULL,44000,France,1370,21000
二线- 112,Signal Gift Stores,King,Sue,7025551838,8489 Strong St.,NULL,Las Vegas,NV,83030,USA,1166,71800
我不知道为什么会出现错误,你能帮帮我吗?
【问题讨论】:
-
你用的是mysql还是sql-server?如果问题只属于其中一个,请不要同时标记两者。
-
您使用的是什么批量加载工具 - BCP?你用的是什么命令行和定义文件?
-
您能出示您的批量插入语句吗?
-
从 'C:\Users\Student\Desktop\BIca1folder\CustomersBI.csv' WITH (fieldterminator=',', rowterminator='/n') @HoneyBadger 批量插入客户
-
在您发送的数据文件中有一个 21000.00,请参阅我之前的评论。由于您需要大量编辑文件(将小数点更改为 . 或删除所有其他点,并更改字段分隔符),您可能需要编写一些工具来预处理文件。
标签: mysql sql-server csv bulkinsert mismatch