当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 文本、Excel、Access数据导入SQL Server2000的方法

MSSQL
一个分页存储过程代码
Sql Server 2000 行转列的实现(横排)
sql2000挂起无法安装的问题的解决方法
完美解决MSSQL"以前的某个程序安装已在安装计算机上创建挂起的文件操作"
SQL Server数据库的修复SQL语句
分页存储过程代码
批量执行sql语句的方法
一条SQL语句搞定Sql2000 分页
SQL Server 海量数据导入的最快方法
SQL Select语句完整的执行顺序
MSSQL 清空数据库的方法
mssql自动备份及自动清除日志文件服务器设置
Sql 语句学习指南
.NET Framework SQL Server 数据提供程序连接池
对有自增长字段的表导入数据注意事项
SQL Server导入、导出、备份数据方法
sql server 临时表 查找并删除的实现代码
该行已经属于另一个表 的解决方法
SQL 注入式攻击的本质
SQL 平均数统计

MSSQL 中的 文本、Excel、Access数据导入SQL Server2000的方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 177 ::
收藏到网摘: n/a

昨天参加一个项目的维护,因为各种原因,数据在不同服务器上不一致,所以需要重新将数据库清空一次,并将整理后的数据重新导入。需导入的数据源为文本文件,记录以行存储,“,”逗号分割各字段,每个字段值用“”双引号封闭。 如下所示:
复制代码 代码如下:

"AWU","102300","ZX240-3","2609997000","2609997000","3016924000","","3091775000","","","QCR0000285",""
"AYE","001800","ZX60","2609997000","2609997000","3016924000","","","","","",""

虽然项目开发了应用程序,解析类似的文本文件,并将记录存储到数据库中,但效率显然不及批量导入。为了节约时间,从9:00PM开始,决定先尝试将文本文件导入Excel,再将Excel导入SQL Server2000。(因为之前部分备份工作便是该操作的逆向方式)。
打开Excel2007,再选择打开数据源的文本文件,系统自动进入“文本导入向导”。
第一步,选择字段分割方式,本例采用“分割符号”,适当调整文本文件编码方式(UTF-8、ANSI等),已保证导入数据不是乱码。
第二步,选择分割符号,文本识别符号(太棒了!当初还在考虑双引号如何去掉)。
第三步,设置每列数据类型(常规、文本、日期)。点击完成!
稍微提示下两个细节问题:
1.如示例数据第二行第二字段“001800”,如果在导入第三步按“常规”类型导入,则前端“00”会被去掉,类似数字的处理办法,此时如需保留,请选择“文本”类型。
2.有时源数据中难免存在格式问题,特别是导入强约束的数据库表单时就会报错。这时就得根据报错信息回头检查Excel中的数据。测试中遇到了逗号出现在了“,”双引号内部,导致数据无法导入等情况。多个双引号现象:““”等等。
3.数据导入Excel后,最好在第一行前插入一行,输入数据库对应表单的字段名。不设此行能否实行,还请各位实践证明:)
介于上述的第二问题,所以推荐先将文本文件导入Access,通过Access导入SQL Server。这样的好处在于Access的数据类型与SQL Server更类似,这样当文本文件导入Access时会严格检验数据的合法性,避免后续的诸多麻烦。
导入方法也很类似,简单介绍下:打开Access2007,选择外部数据-文本文件,选中文本文件后,同样出现“导入文本向导”。
第一步,选择固定宽度或分隔符。
第二步,选择分割符类型和文本标识符,可选项“第一行包含字段名称”。
第三步,设置字段名和字段类型(最有价值的一项)。
第四步,是否建立主键。
第五步,完成!
稍微提示一个细节问题:
某些文本文件在Access导入预览时,首行前端会有一个乱码。没关系,打开源文本文件,在首行开头回车,建立一个空行即可。导入数据后,在Access表中再次删除首行记录。
最后通过SQL Server企业管理器,选中需重新导入的表单,右键选择导入数据。继续下一步吧:)SQL Server导入数据时也会严格匹配记录的数据类型是否匹配,如果不匹配,则此批次的数据导入均失败。
OK,先分享这些吧。更多技巧,欢迎大家一起来丰富。Office系列的活用和MS软件间的巧用真是很强大,需要慢慢挖掘:) SQL Server导入数据的更多技巧,我也需要再多学习下!