日期:2014-05-18  浏览次数:20469 次

从excel导数据到sql2005中不该出现的问题,急!
在excel中有个表,数据如下:
id     phone   (文本类型)
1         786699
2         788833
3         bgg785566
4         784433
5         bgg781122

当我把这些数据导入sql2005   数据库里面后,bgg开头的数据变成了null,
后来我在excel里把phone的类型转变成 常规或数字后,情况还是一样,
请问是怎么回事?


------解决方案--------------------
你转成字符串类型的看看行不行
------解决方案--------------------
数据转换出了问题,你把第一行数据变成bgg开头的看看。
------解决方案--------------------
如果excel表格中有一列是既有数字又有文本的,在导入SQL Server表格时会发生问题。有可能excel中为文本的那些记录在SQL Server中变成了null值。这是因为它把所有的记录理解为数值,(尽管我们并没有在excel中这样设置),而遇到文本时判断不是数值,便给出null值。

解决方法如下:(可能有其他的,但目前只发现此种有效。)

n 将此导换的DTS包(这需要事先保存、或自行新建)打开

n 在编辑器里右键单击空白处,选择“脱接属性”命令。

n 依次展开“连接”——excel的那个连接——> “OLE DB属性“,找到“Extended Properties”属性。

n 将右边的“Value”属性的值改为“Excel=8.0;HDR=YES;IMEX=1”

n 保存,关闭。

而后执行这个DTS包,就可以得到正确的结果了。