创新路
我们一直在努力

EXCEL导入SQLServer一点经验分享

    前两天需要将一份几千行的excel表导入SQLserver数据库,期间遇到了一点问题,自己通过百度和尝试解决了,一点不成熟的经验,分享一下。

   将excel表导入SQLserver数据库数据库有以下步骤:

  1. 打开导入管理器,选择需要导入的excel文件:

    1.jpg

  2. 第二步选择需要导入的数据表

    2.jpg

  3. 选择运行,这时候问题出现了:

    3.jpg

   为什么会出现这种情况呢?平时我经常导入excel,都没有遇到过这种情况。根据错误提示,我分析了一下这份表格的特点,发现其中一列的内容长度比较诡异:少的就10几个字符,多的超过2000个字符。印象中蒲伟说过excel导入的时候,******行的内容是对数据库有影响的,具体怎么影响忘了,于是百度了一下。

CSDN上有篇博客提到了这个问题:

       excel是通过前8行(表头的首行除外)的数据类型来判断导入数据的数据格式的,例如前8行出现整数型,那么默认就用整数型的数据读取方式导入数据,又例如前8行出现的是长度小于255的字符串类型,那么就会默认整列都是小于255的字符串,这样导入的时候长度大于255的字符串就会被截取掉了。

简单易用的解决方案 :

1、插入8行空数据在您将要导入的excel表中。

2、在刚刚输入的8行中,输入大于255长度的字符串在被截取的列的单元格中。

3、执行sqlserver的导入功能会发现之前被解决的列现在不会被截取了。

   于是,我在将excel表******行每一格都放了比原始表格内容更多的个字符,(因为这个表导入之后是一次性使用,完了会删掉,所以多占点空间应该也不影响)。

blob.png

    再次尝试导入,这次果然成功了。再看一下SQLServer自动创建的表:

blob.png

   果然,自动创建了能够满足长度需求的数据类型。

   内容有点肤浅,对于我而言还是一次有意义的实践,很高兴跟大家分享一下。

未经允许不得转载:天府数据港官方信息博客 » EXCEL导入SQLServer一点经验分享

客官点个赞呗! (5)
分享到:

评论 抢沙发

评论前必须登录!

天府云博 - 做有态度的开发&运维&设计学习分享平台!

联系我们百度云主机