我正在尝试将Excel文件加载到SQL中。问题在于转化。
我不想处理转换。我想简单地将所有列视为字符串,因为它们将作为字符串转储到SQL表中。
将此问题转移到SQL表而不必处理所有转换问题的最简单方法是什么?
答案 0 :(得分:1)
MSDN entry for the Excel Source发出警告:
Excel驱动程序在指定的源中读取一定数量的行(默认情况下为8行),以猜测每列的数据类型。当列似乎包含混合数据类型,特别是与文本数据混合的数字数据时,驱动程序决定支持多数数据类型,并为包含其他类型数据的单元格返回空值。 (在平局中,数字类型获胜。)
将IMEX=1
添加到连接字符串会使Excel源处于“导入模式”;前几行中具有混合数据类型的列将被视为文本数据。但是,没有任何方法可以关闭Excel源的类型猜测“功能”;如果前几行都包含数字,则源将将该列视为数字,并相应地强制转换。
如果您可以说服谁提供此文件以.CSV格式发送给您,您可以使用常规平面文件来加载它。或者,您可以将脚本组件配置为源,并使用Excel对象模型循环遍历电子表格并吐出行 - 但这不符合“简单”的条件,除非您真的知道您的内容'干嘛。