【问题标题】:Bulk load data conversion error from csv file to SQL从 csv 文件到 SQL 的批量加载数据转换错误
【发布时间】: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


【解决方案1】:

我认为这是因为您的行终止符错误...您应该使用 \n 而不是 /n ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-26
    • 2011-11-23
    • 2013-11-10
    • 2017-08-09
    • 1970-01-01
    • 2013-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多