2

我正在使用 SQL Server 导入和导出向导尝试将特定的 xlsx 电子表格导入到 SQL 中的现有表中。现有表包含电子表格中列的子集,我忽略了许多不匹配的列。

该电子表格有 123 列和 238 行数据。

最初,当我导入电子表格时,向导挂在“执行”上,我不得不终止该进程。我以前从未遇到过的东西。

将数据复制并粘贴到新电子表格后,现在出现以下错误:

错误 0xc020901c:数据流任务 1:输出“Excel 源输出”(9) 上的输出列“机密性条款注释”(108) 存在错误。返回的列状态为:“文本被截断或一个或多个字符在目标代码页中不匹配。”。(SQL Server 导入和导出向导)

错误 0xc020902a:数据流任务 1:“输出列“保密条款注释”(108)”由于发生截断而失败,并且“输出列“保密条款注释”(108)”上的截断行处置指定了截断失败。指定组件的指定对象发生截断错误。(SQL Server 导入和导出向导)

我对此感到困惑,“保密条款评论”列是被忽略的列之一 - 它没有被导入数据库!

我尝试将 "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet 4.0\Engines\Excel\TypeGuessRows" 设置为 0 和更高的数字,例如 238 和 1000,以增加样本量。(尽管该表已经存在,其中的字段足够大以供导入的数据使用)。我还将“截断(全局)”和“错误(全局)”设置为忽略(但此设置似乎被“忽略”)。

我也尝试将数据导入新表,并得到相同的截断错误消息(但在不同的字段上取决于数据排序)。

我考虑过导入为 CSV 文件,但在许多字段中都嵌入了逗号,这完全搞砸了数据。

关于如何导入数据的任何想法?我已经在这上面花了 3 个多小时,但一无所获。

谢谢,史蒂夫

4

1 回答 1

0

而不是 CSV,您可以另存为Text (Tab delimited) (*.txt)- 这样您就不会遇到逗号问题。

此外,如果您只需要这样做一次,并且由于数据集并不十分庞大,我会考虑只从 excel 复制并直接粘贴到 sql server management studio。

于 2013-02-01T15:44:37.913 回答