sql-server – 从Excel导入到SQL Server的数据导入未能导入所有数据

前端之家收集整理的这篇文章主要介绍了sql-server – 从Excel导入到SQL Server的数据导入未能导入所有数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用导入和导出数据工具从Excel导入数据到sql Server有一个奇怪的事情.

不过,我可以在Excel中看到数据,但是所有的数据都不会导入.

我有一个包含一个电子表格的excel工作簿.我可以看到列中的数据,一切都看起来不错.当我使用导入向导导入数据时,我可以看到列和预览数据,但是在执行导入时数据并不全部被转移.没有错误,导入过程完成 – 它只是在表中插入一堆空值.

它似乎最多的是数字 – 所以让我们说,我有三列的名字,姓氏和身份证号码.我会得到所有的名字和名字,以及一些ID号码.我找不到发生什么的模式.

我曾经发生过一次,我注意到在导入过程中有两个电子表格可供选择:DataImport和DataImport $ – 第一个将如上所述失败,第二个将会完美导入.这次只能选一个电子表格.

我主要在64位系统上使用XLS文档和32位导入向导,但我愿意尝试任何东西.

有什么想法,为什么有两个电子表格(有时),为什么这种导入会失败?

戴夫

解决方法

您的问题的答案可能涉及到如何将数据存储在Excel中.

我刚遇到同样的问题.我有一个列包含两种类型的值:数字和数字与破折号. (例如51000和2009-00949)我需要将它们导入为NVARCHAR或VARCHAR,但是sql导入向导(sql2005)只会导入数字,而不是使用破折号或数字的数字,而不是数字,取决于第一条记录中的哪一种.未导入的值在该字段中将具有“null”值,从而使我的记录无效.

我尝试使用Excel(数字,文本,常规等)中的格式|单元格菜单选项和sql(nvar,nvarchar,varchar,sqlvariant,float)中的各种映射选项,而不成功.

解决方案是在Excel中使用“数据|文本到列”选项,而不是单元格格式化选项将数值存储为文本.当我在列上使用它时,转换为存储为文本值的数字(小的绿色三角形错误出现在左上角)的数值(例如51000)),破折号的数字保持为文本.我不得不以这种格式离开数据,带有一点绿色的三角形错误,否则不会成功导入sql.当列中的数据以此格式存储时,两种类型的列数据(数字和数字与破折号)与其他记录数据正确导入,列中没有空值.

原文链接:https://www.f2er.com/mssql/75246.html

猜你在找的MsSQL相关文章