SQL server import and export

分类: 流金岁月 |
有一大批数据(excel)要转到T-sql DB,用的是SQL server import and export wizard,可这个工具似乎并没有灵性,需要人工干预。强烈建议一张表一张表转,否则报错信息跳出一大堆,看了心里烦躁。
https://a2blaq.bn1302.livefilestore.com/y2pEpsa3CpYB8GuQMV3adztzftUgftMwChaEHG96sba-sSaYTYSs08SKcsO0a2lqSerdFVlbka4eZRmlAYAlMZwOfAXQW-AVo4DOyRcPMeNakI/report2.JPG?psid=1server
这个错误很容易碰见,尽管目的字段可能都设置为nvarchar(Max),依然过不了。原因是只要前15行该字段(txt类型)的内容在255字符以下,这位向导就自动默认为char(255),当第16行遇到的是256的话,立马碰壁罢工。
解决的方法是:
https://a2blaq.bn1302.livefilestore.com/y2pwIU8OOqfwuw8fMheqppcf3VKitjPindAMRJ0JdljmknG1HWM-Q007Q7RNgKxUK_9sGkMWh5xkN3aHtoqOiBUMa1k4C5O0-eBfQsPtuxlmYI/report5.jpg?psid=1server
- 把txt字段切换位'TEXT'格式,如果字段显示“#####”,就意味它超过255字符。
- 选择一“#####”,把该行内容上移到前15行。
- 恢复字符原有格式。
- 然后再使用向导导入数据,成功
https://a2blaq.bn1302.livefilestore.com/y2pqF-meI6sdi6w9oyye0PKR9C-6NpePiBCKf2IaOOsKDPw2TaWC6eLbghVaNnthtRr1npcpAUG6EbwLmitg8gXznzlLrwCsBF9y2mC-CByc6g/report4.jpg?psid=1server
另一个问题,转入的数据表有些内容背景是浅黄色, 然后select * from TableName where ColumnName = NULL,却什么都没有返回。
https://a2blaq.bn1302.livefilestore.com/y2pO_muHhk_SI_0r3I1Dh7YRQNrOou39iO3IAHXL22t_46fhIi3Prdr9bbJYJJNWnwJMdUYOMJMzJH7m_-4YYc3bfIO-u0Pzzh2y_oKYWpJ_4c/report6.jpg?psid=1server
解决方法
- 在Excel表里把所有无字符的cell都设成数字0, find & replace功能
- 同样步骤转入数据库
- update TableName
Set ColumnName = NULL
WhereColumnName = 0 - 浅黄色背景消失,然后再用上述select就能找到该(数)条记录了。