我有一个从平面文件数据导入并合并它们的脚本。我每天有大约190'000行数据合并。
我需要大约30分钟。现在我花了2个多小时。以“
”加入公司的新人't Hart
因为给定名称造成了麻烦
错误就像这样
代码:0xC0202092
来源:数据流任务1来源 - zuko_GLDAP_DUMP_csv [1]
说明:处理文件“D:... \ NameOfTheFlatFile.csv”时发生错误数据行82396.结束错误错误:2014-02-12 05:00:41.61
代码:0xC0047038来源:数据流任务1 SSIS。管道
描述:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED。组件“Source - zuko_GLDAP_DUMP_csv”(1)上的PrimeOutput方法返回错误代码0xC0202092。
当管道引擎调用PrimeOutput()时,组件返回失败代码。失败代码的含义由组件定义,但错误是致命的,管道停止执行。
在此之前可能会发布错误消息,其中包含有关失败的更多信息。结束错误DTExec:程序包执行返回DTSER_FAILURE(1)。开始时间:05:00:01完成时间:05:00:42经过:40.235秒。包执行失败。步骤失败
所以我进入文件并看到了名称('t Hart
)。
我这样做(不是整个代码)
MERGE person AS TARGET
USING temp_person AS SOURCE
ON (TARGET.per_pid = SOURCE.per_pid)
WHEN MATCHED THEN
UPDATE SET
TARGET.[per_name] = SOURCE.[per_name]
WHEN NOT MATCHED BY TARGET THEN
INSERT (
[per_name]
)
VALUES(
SOURCE.[per_name]
);
我该如何解决这个问题?
感谢您的帮助
答案 0 :(得分:0)
希望这有帮助。
这有一个线索,sql注入是解决方案btw的唯一方法。
USE [adventureworks2008]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[name](
[name] [nvarchar](25) NOT NULL,
) ON [PRIMARY]
GO
select * from name
insert into name values ('James ''t Hart ')
SELECT REPLACE(name , '''', '''''') from name