ssis导入跳过一些行

时间:2013-12-16 06:28:56

标签: sql-server csv ssis

出于某种原因,当我导入使用sqlplus导出的csv文件时,我似乎无法弄清楚为什么我缺少一些行。 ssis包也没有提供警告或错误。

我之所以知道这是因为当我将csv文件加载到单独的分析应用程序中时,它会获得数字列和行计数的正确总计。

但出于某种原因,SSIS似乎没有抓住所有的线......

csv文件中有6313052行,ssis导入6308607 ...

有什么想法吗?

我也尝试了不同的代码页(1250,1252和UTF8),但它们似乎没有影响

我查看了这个链接: Why all the records are not being copied from CSV to SQL table in a SSIS package

和数字我已经检查了数字2,3和4.

虽然,对于数字1,我​​在这个站点中描述了每个循环容器: http://help.pragmaticworks.com/dtsxchange/scr/FAQ%20-%20How%20to%20loop%20through%20files%20in%20a%20specified%20folder,%20load%20one%20by%20one%20and%20move%20to%20archive%20folder%20using%20SSIS.htm 循环浏览文件夹中的文件并导入它们。

我也考虑过丢失分隔符,但是我自己使用sqlplus导出了这些文件:

select
trim(to_char(t1.D_DTM, 'yyyy-mm-dd hh24:mm:ss'))||','||
trim(t1.TECHNOLOGY)||','||
trim(t1.VOICEDATA)||','||
trim(t2.MRKT_NM)||','||
trim(t2.REGION_NM)||','||
trim(t2.CLUSTER_NM)||','||
trim(t3.BSC_NM)||','||
trim(t1.BTS_ID)||','||
trim(t1.CSCD_NM)||','||
trim(t1.SECT_SEQ_ID)||','||
trim(t1.BND_ID)||','||
trim(t1.FA_ID)||','||
trim(t1.TCE_DTCT_CALL_SETUP_F_CNT)||','||
trim(t1.MS_ACQ_CALL_SETUP_F_CNT)||','||
trim(t1.SIGN_CALL_SETUP_F_CNT)||','||
trim(t1.BAD_FRM_CALL_SETUP_F_CNT)||','||
trim(t1.REORG_ATT_CNT)||','||
trim(t1.TCE_CALL_SETUP_F_CNT)||','||
trim(t1.WCD_CALL_SETUP_F_CNT)||','||
trim(t1.L_CALL_SETUP_F_CNT)||','||
trim(t1.TRAF_FRM_MISS_CNT)||','||
trim(t1.BCP_TMO_CALL_SETUP_F_CNT)
from table

如果我导出这样的文件,我不确定如何错过分隔符...

另外,我测试了使用LOAD DATA INFILE将这些文件导入MySql,这似乎工作正常并导入所有数据......

0 个答案:

没有答案