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

MSSQL
SQL Server--全文本检索的应用(一)
SQL 2005的SSIS与Oracle的迁移性能
SQL优化实例:从运行30分钟到运行只要30秒
无法在SQL Server2005 Manger Studio 中录入中文的问题
SQL Artisan多表查询和统计
SQL Server数据库开发人员在应聘时经常被问到哪些问题
一个完整的SQL SERVER数据库全文索引的示例
SQL Server安全之加密术和SQL注入攻击
如何对SQL Server中的tempdb“减肥”
SQL Server 2005升级的十个步骤
如何在SQL Server开发中融入极限编程技术
SQL Server应用程序高级SQL注入(下)
SQL Server应用程序高级SQL注入(上)
SQL Server连接中的常见错误
IIS中SQL Server数据库的安全问题
SQL Server 2005区域配置和安全工具
保护 SQL Server 的十个步骤
如何利用SQL Server 2000的复制选项
SQL Server 数据库使用备份还原造成的孤立用户和对象名‘xxx’无效的错误的解决办法
SQL SERVER 2005同步复制技术的应用

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 179 ::
收藏到网摘: 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导入数据的更多技巧,我也需要再多学习下!