在foreach循环中将Excel文件加载到SSIS - 数据类型和字段长度问题

时间:2015-01-20 19:25:45

标签: excel ssis oledbconnection ssis-2012

我通过Excel数据源在for-each循环中读取Excel文件。 问题是SSIS正在动态更改连续Excel文件中前几行的depanding列的类型和大小。

我们假设它基于第一行(我知道它默认约为8行)。 在下面的示例中,“code”被读作DT_FLOAT,但是如果第3行是1st,则它将是DT_STR。

ID |代码 1 | 333 2 | 14145 3 | aaaavwv

我的问题是 - 如何定义固定数据结构,每次在循环中加载新的Excel文件时都会使用? 我想用SQL stetement覆盖Excel Source - 比如CAST或CONVERT,但我想这里不允许这样做。

SELECT CAST([id] as int)作为ID,CAST([code] as VARCHAR(30))作为代码 FROM [Sheet1 $];

连接字符串: Provider = Microsoft.ACE.OLEDB.12.0; Data Source = E:\ SHARE \ Data \; Extended Properties =“EXCEL 12.0 XML; HDR = YES; MODE = READ; READONLY = TRUE; IMEX = 1”;

我尝试过但不起作用: - 将IMEX = 1添加到连接字符串 - 在高级编辑器中设置列长度

0 个答案:

没有答案