当前位置: 首页 > 面试题库 >

批量加载数据转换错误(截断)

拓拔奇
2023-03-14
问题内容

我收到此错误

Bulk load data conversion error (truncation) for row 1, column 12 (is_download)

这是csv …它只有一行

30,Bill,Worthy,sales,,709888499,bat@bat.com,,"Im a a people person., to work together for this new emerging env.HTTP://applesoftware.com","Bill and Son of Co","Contact Us: Contact Form",0

这是我的批量插入语句…

SE SalesLogix
GO

CREATE TABLE CSVTemp
(id INT,
firstname VARCHAR(255),
lastname VARCHAR(255),
department VARCHAR(255),
architecture VARCHAR(255),
phone VARCHAR(255),
email VARCHAR(255),
download VARCHAR(255),
comments VARCHAR(MAX),
company VARCHAR(255),
location VARCHAR(255),
is_download VARCHAR(255)
)
GO

BULK
INSERT CSVTemp
FROM 'c:\leads\leads.csv'
WITH
(
DATAFILETYPE = 'char', 
BATCHSIZE = 50, 
FIELDTERMINATOR = ',', 
ROWTERMINATOR = '\n' 
)
GO
--Check the content of the table.
SELECT *
FROM CSVTemp
GO

问题是大多数情况下都能正常工作,但在某些情况下(这是其中一种),我会收到错误消息

关于导致此记录出现此错误的原因的任何想法


问题答案:

由于分隔符不一致,因此它将注释字段中的逗号作为分隔符。最好的解决方案是确保所有字段都用双引号引起来并设置FIELDTERMINATOR'","'。或者,将逗号替换为注释中不太可能出现的内容(例如~)和set
FIELDTERMINATOR = '~'



 类似资料:
  • 我有mysql中的表,表看起来像 当我试图使用 它抛出错误 错误代码: 1265年。第 1 行“拾取 ID”列的数据被截断 我正在使用MySQL 5.2

  • 我面临着从CSV到MSSQL表的批量插入的问题。使用try, catch块我看不到任何错误,但当我在没有try catch块的情况下执行时,它会给出以下3个错误。 Msg 4864,级别16,状态1,第1行第2行第10列(InActiveDate)的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。 消息 7399,级别 16,状态 1,第 1 行 链接服务器“(空)”的 OLE DB 提

  • 问题内容: 尝试将数据从平面文件数据库转储加载到新表时遇到权限错误。我知道文件和表的架构相同,因此尝试调整权限。我还应该尝试什么? 问题答案: 这是 MySQL论坛上的一个线程,对此进行了讨论。 答案是肯·塔瑟尔(Ken Tassell)发布的 使用以下命令解决了问题:

  • 问题内容: 我正在尝试将Pandas DF转换为Spark one。DF头: 码: 我得到一个错误: 问题答案: 您需要确保您的pandas dataframe列适合spark推断的类型。如果您的熊猫数据框列出类似以下内容: 而且您遇到该错误,请尝试: 现在,确保实际上是您希望这些列成为的类型。基本上,当底层Java代码尝试从python中的对象推断类型时,它会使用一些观察值并做出猜测,如果该猜测

  • 我正在尝试将熊猫DF转换为Spark one。测向头: 代码: 我得到了一个错误:

  • 有58行 然后我将获取所有记录,但当我试图转储原始数据集时 那我就犯错了 失败了! 失败的作业:JobId别名功能消息输出job_1523787662857_0004 pcategories MAP_ONLY消息:作业失败!hdfs:/localhost:9000/tmp/temp-1113251818/tmp-83503168, 输入:无法从“RETAIL_DB.categories”读取数据