欢迎来到天天文库
浏览记录
ID:22377409
大小:55.00 KB
页数:7页
时间:2018-10-28
《sql server数据库中成批导入数据的几个常用方法--》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、SQLServer数据库中成批导入数据的几个常用方法>> 在软件项目实施的时候,数据导入一直是项目人员比较头疼的问题。如要把产品信息从现有的进销存管理系统中导入到ERP系统中,却让企业用户手工的输入这些信息,不怎么现实。 其实,在SQLServer中本来就集成了很多成批导入数据的方法。有些项目实施顾问头疼的问题,在我们数据库管理员眼中,是小菜一碟。现在的重点就是,如何让用户了解这些方法,让数据导入变得轻松一些。 第一种方法:使用SelectInto语句 若企业数据库都采用的是SQLServe
2、r数据库的话,则可以利用SelectInto语句来实现数据的导入。SelectInto语句,他的作用就是把数据从另外一个数据库中查询出来,然后加入到某个用户指定的表中。 在使用这条语句的时候,需要注意几个方面的内容。 一是需要在目的数据库中先建立相关的表。如想把进销存系统数据库(SQLServer)中的产品信息表(Product)导入到ERP系统中的产品信息表(M_Product)中。则前期是在ERP系统的数据库中已经建立了这张产品信息表。 二是这种方法只复制表中的数据,而不复制表中的索引。如
3、在进销存系统数据中的产品信息表中,在产品编号、产品种类等字段上建立了索引。则利用SelectInto语句把数据复制到ERP系统的表中的时候,只是复制了数据内容的本身,而不会复制索引等信息。 三是这条语句使用具有局限性。一般情况下,这只能够在SQLServer数据库中采用。不过,对于SQLServer不同版本的数据库,如2008或者2003,还都是兼容的。若需要导入的对象数据库不是SQLServer的,则需要采用其他的方法。 四是采用这条语句的话,在目的表中必须不存在数据。否则的话,目的表中的数据
4、会被清除。也就是说,这个语句不支持表与表数据的合并。在SQLServer中,有一条类似的语句,可以实现这个功能。这条语句就是:InsertInto。他的作用就是把另外一张表中的数据插入到当前表中。若用户想要的时表与表数据的合并,则可以采用这条语句。两者不能够混淆使用,否则的话,很容易导致数据的丢失。 五是以上两条语句都支持兼容的不同类型的数据类型。如在原标中,某个字段的数据类型是整数型,但是在目的表中这个字段的数据类型则是浮点型,只要这个两个数据类型本来就兼容的,则在导入的时候,数据库是允许的。
5、 第二种方法:利用Excel等中间工具进行控制 虽然第一种方法操作起来比较简单,但是其也有一些缺点。如他只支持同一种类型的数据库;不能够对数据进行过多的干预等等。一般情况下,若用户原数据准确度比较高,不需要过多的修改就可以直接拿来用的话,则笔者就已采用第一种方式。 但是,若在原数据库中,数据的准确度不是很高,又或者,有很多数据是报废的。总之,需要对原数据库的数据进行整理,才能够使用的情况,笔者不建议先导入进去,再进行更改。笔者在遇到这种情况时,喜欢利用Excle作为中间工具。也就是说,先把数据中
6、原数据库中导到Excle中。有些数据库,如Oracle数据库,他不支持Excle格式。但是,我们可以把它导为CSV格式的文件。这种文件Excle也可以打得开。 然后,再在Excle中,对记录进行修改。由于Excle是一个很强的表格处理软件,所以,其数据修改,要比在数据库中直接修改来得方便,来得简单。如可以利用按时间排序等功能,把一些长久不用的记录清楚掉。也可以利用替换等功能,把一些不规范的字符更改掉。这些原来在数据库中比较复杂的任务,在Excle等工具中都可以轻松的完成。 等到表中的内容修改无误
7、后,数据库管理员就可以把Excle表格中的文件直接导入到SQLServer数据库中。由于SQLServer与Excel是同一个父母生的,所以,他们之间的兼容性很好。在SqlServer中提供了直接从Excel文件中导入数据的工具。 虽然这要借助中间工具导入数据,但是,因为其处理起来方便、直观,所以,笔者在大部分时候都是采用这种方式。 第三种方式:使用数据转换服务导入数据 数据转换服务是SQLServer数据库中提供的一个非常强大的工具。在SQLServer中,数据转换功能有一个图形用户接口,用
8、户可以在图形界面中导入数据,并对数据进行相应的编辑。 另外,数据转换服务还支持组件的编程接口。这也就是说,在前台应用程序开发的时候,可以直接调用数据转换服务。让用户通过前台应用系统,而不用在后台数据库系统进行任何的操作,就可以把数据导入数据库系统中去。在前台对数据库系统进行导入,有一个明显的好处,就可以预先对数据的合法性进行检查。如可以利用VB等脚本语言对数据进行检验、净化和一定的转换,以符合目的数据库的需要。 如在员工信息表中的婚姻状况字段,在Oracle数据库
此文档下载收益归作者所有