提前感谢任何人提供的任何帮助,
(前言:我已经熟悉TypeGuessRows注册表调整(我将它设置为0; XL扫描整个列以确定数据类型)和IMEX = 1扩展属性(我默认使用此方法))
我正在为客户开始正在进行的项目:
循环浏览多个XL文件,然后循环遍历多个XL工作表不是问题。我过去曾多次这样做过。 XL文件的我的SSIS模板默认以这种方式设置。
我遇到的问题是列的数据类型何时可以从一个工作表更改为工作表。例如,在大多数工作表上都有一个日期列:
...但是,在同一文件中的某些工作表上,相同的日期列...
如果我没弄错的话,当我运行SSIS包时,它会在数据类型发生变化时抛出错误。
是否可以强制传入列的数据类型( OLE DB源的高级编辑器&gt; 输入和输出属性表&gt; 输入和输出< / strong>窗格&gt; OLE DB源输出&gt; 外部列)unicode,以便XL / SSIS想要更改数据类型时包不会出错?这将容纳所有当前文件和任何未来的文件,以防出现相同的不一致格式。
或者我被迫:
再次感谢任何人都能提供的帮助,
CTB
答案 0 :(得分:1)
似乎从一种数据类型切换到另一种数据类型不会引发错误,只是警告...至少从 [DT_DATE] 到 [DT_WSTR] 和回来。
我无法强制 OLE DB源的传入列的数据类型,但我能够将传出列数据类型设置为 [DT_WSTR] ( OLE DB源的高级编辑器&gt; 输入和输出属性表&gt; 输入和输出窗格&gt; OLE DB源输出&gt; 输出列)。这样,该列中的所有日期都被视为数据流中的unicode文本,无论其来源如何。
这似乎可以解决问题。我只需要一个导入包来导入两种类型的工作表/文件。
我希望将来帮助别人......