加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

SQL server import and export

(2014-08-09 19:23:09)
分类: 流金岁月

有一大批数据(excel)要转到T-sql DB,用的是SQL server import and export wizard,可这个工具似乎并没有灵性,需要人工干预。强烈建议一张表一张表转,否则报错信息跳出一大堆,看了心里烦躁。

https://a2blaq.bn1302.livefilestore.com/y2pEpsa3CpYB8GuQMV3adztzftUgftMwChaEHG96sba-sSaYTYSs08SKcsO0a2lqSerdFVlbka4eZRmlAYAlMZwOfAXQW-AVo4DOyRcPMeNakI/report2.JPG?psid=1server import and export" />

这个错误很容易碰见,尽管目的字段可能都设置为nvarchar(Max),依然过不了。原因是只要前15行该字段(txt类型)的内容在255字符以下,这位向导就自动默认为char(255),当第16行遇到的是256的话,立马碰壁罢工。

解决的方法是:

https://a2blaq.bn1302.livefilestore.com/y2pwIU8OOqfwuw8fMheqppcf3VKitjPindAMRJ0JdljmknG1HWM-Q007Q7RNgKxUK_9sGkMWh5xkN3aHtoqOiBUMa1k4C5O0-eBfQsPtuxlmYI/report5.jpg?psid=1server import and export" />

  1. 把txt字段切换位'TEXT'格式,如果字段显示“#####”,就意味它超过255字符。
  2. 选择一“#####”,把该行内容上移到前15行。
  3. 恢复字符原有格式。
  4. 然后再使用向导导入数据,成功

https://a2blaq.bn1302.livefilestore.com/y2pqF-meI6sdi6w9oyye0PKR9C-6NpePiBCKf2IaOOsKDPw2TaWC6eLbghVaNnthtRr1npcpAUG6EbwLmitg8gXznzlLrwCsBF9y2mC-CByc6g/report4.jpg?psid=1server import and export" />

另一个问题,转入的数据表有些内容背景是浅黄色, 然后select * from TableName where ColumnName = NULL,却什么都没有返回。

https://a2blaq.bn1302.livefilestore.com/y2pO_muHhk_SI_0r3I1Dh7YRQNrOou39iO3IAHXL22t_46fhIi3Prdr9bbJYJJNWnwJMdUYOMJMzJH7m_-4YYc3bfIO-u0Pzzh2y_oKYWpJ_4c/report6.jpg?psid=1server import and export" />

解决方法

  1. 在Excel表里把所有无字符的cell都设成数字0, find & replace功能
  2. 同样步骤转入数据库
  3. update TableName
    Set ColumnName = NULL
    Where ColumnName = 0
  4. 浅黄色背景消失,然后再用上述select就能找到该(数)条记录了。

 

0

阅读 收藏 喜欢 打印举报/Report
前一篇:汤种
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有