从Excel 2010导入到SQL Server 2008R2时出错
我正在使用SQL Server导入和导出向导尝试将特定的xlsx电子表格导入SQL中的现有表格。 现有的表格包含电子表格中列的子集,而我忽略了许多不匹配的列。
电子表格有123列和238行数据。
最初,当我导入电子表格时,向导挂在“执行”上,我不得不杀死这个进程。 之前我从来没有遇到的东西。
将数据复制并粘贴到新电子表格后,现在出现以下错误:
错误0xc020901c:数据stream任务1:输出“Excel源输出”(9)中的输出列“机密条款注释”(108)出错。 返回的列状态是:“文本被截断或者一个或多个字符在目标代码页中没有匹配”。 (SQL Server导入和导出向导)
错误0xc020902a:数据stream任务1:“输出列”保密条款注释“(108)”因截断发生而失败,“输出列”保密条款注释“(108)”上的截断行configuration指定截断失败。 指定组件的指定对象上发生截断错误。 (SQL Server导入和导出向导)
我对此感到困惑的是,“保密条款注释”一栏是被忽略的一栏 – 它没有被导入到数据库中!
我曾尝试设置“HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Jet 4.0 \ Engines \ Excel \ TypeGuessRows”为0和更高的数字,如238和1000,以增加样本大小。 (虽然表已经存在足够大的字段以导入数据)。 我也有“On Truncation(global)”和“On Error(global)”设置为忽略(但是这个设置似乎被忽略了)。
我也尝试导入数据到一个新的表,并获得相同的截断错误消息(但依赖于数据sorting不同的领域)。
我想过导入为CSV文件,但是在许多字段中都embedded了逗号,并且将数据完全搞乱了。
任何想法如何获得数据导入? 我已经花了3个多小时了,而且没有任何地方。
谢谢你,史蒂夫
你可以保存为Text (Tab delimited) (*.txt)
,而不是CSV,这样你就不会遇到逗号问题。
另外,如果你只需要这样做一次,而且数据集不是很大,我会考虑从excel复制并直接粘贴到sql server management studio中。