`
zhaofucheng1129
  • 浏览: 2353 次
  • 性别: Icon_minigender_1
  • 来自: 钢城鞍山
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

DTS数据转换服务的使用

    博客分类:
  • DTS
阅读更多

 


在SQL Server的企业管理器中有一个数据转换服务(Data Transfer Service),它主要用作在不同的数据库之间转换数据,比如在SQL Server和Oracle之间转换数据。下边我们就以将Oracle中的数据转换到SQL Server中为例做一下介绍。
    首先启动SQL Server的企业管理器,如下图所示:
DTS数据转换服务的使用
 
进入SQL企业管理器的控制台界面,打开服务器节点,点开里边的数据转换服务节点,右击“本地包”节点,选择“新建包”菜单。如下图所示:
 

DTS数据转换服务的使用


    进入新建DTS包界面,如下图所示:
 
DTS数据转换服务的使用

    窗口的左边是建立连接和任务的快捷工具栏,上边是菜单栏,右侧是主窗口。
DTS的主要任务是将数据从一个数据库传输到另一个数据库,既然要访问数据库,那么肯定要有连接才行,所以第一步就是建立连接。我们以从Oracle数据库中转换数据到SQL Server数据库为例做介绍。点击“连接”菜单,选择“Microsoft OLE DB Provider for SQL Server...”,如下图所示:
 
DTS数据转换服务的使用

    弹出连接属性对话框,在“新建连接”后边输入连接的名称,在服务器下拉框中选择要连接的服务器,输入用户名和密码,选择要连接的数据库,如下图所示:
 
DTS数据转换服务的使用

    点击“确定”按钮,即建立了对目标数据库的连接。接下来我们建立源数据库的连接,源数据库是Oracle,点击“连接”菜单,选择“Microsoft ODBC Driver for Oracle...”,如下图所示:
  
DTS数据转换服务的使用

    在弹出的“连接属性”对话框中点击“属性”按钮,如下图所示:
 
DTS数据转换服务的使用

    弹出“数据连接属性”对话框,在里边输入Oracle数据库的名称、用户名和密码,点击“测试连接”按钮,测试连接是否成功。如下图所示:
 
DTS数据转换服务的使用

测试连接成功之后,点击“确定”按钮,在主窗口中出现我们刚才建立的两个连接,如下图所示:
 
DTS数据转换服务的使用

在将源数据库导入到目标数据库之前,我们先把目标数据库表中的数据删除,然后再导入数据。我们需要先建立一个删除数据的任务,拖一个任务图标到主窗口中,如下图所示:
 
DTS数据转换服务的使用

    双击这个图标,会弹出“执行 SQL 任务属性”对话框,在描述文本框中输入这个图标的文本描述,在现有连接下拉框中选择我们刚才建立的SQL Server数据库的连接,因为我们删除目标数据库SQL Server中的数据,所以此处选择SQL Server数据库的连接。在SQL语句文本框中输入删除数据的SQL语句,点击“确定”按钮,这个删除数据的任务就完成了。
先前我们已经建立了Oracle数据库的连接,将该图标放在删除原有数据图标的右侧,如下图所示:
 
DTS数据转换服务的使用

    将先前建立的SQL Server数据库的连接图标放在Oracle数据库连接图标的右侧,如下图所示:
 
DTS数据转换服务的使用

接下来准备建立转换数据的任务,点击左侧任务图标栏中的转换数据任务图标,如下图所示:
 
DTS数据转换服务的使用

点击数据转换任务图标后,首先要选择源连接,此处我们是将Oracle中的数据导入到SQL Server中,所以源连接就是先前我们建立的Oracle连接,目标连接就是SQL Server连接。注意选择源连接和目标连接时不能用鼠标进行框选,也就是不能用鼠标画一个方框的方式将图标框在里边来选择,而是要点击连接图标去选取源连接和目标连接。选择源连接,如下图所示:
 
DTS数据转换服务的使用

再点击目标连接,如下图所示:
 
DTS数据转换服务的使用

这样源连接和目标连接之间就会多一条代表数据转换任务的连线,如下图所示:
 
DTS数据转换服务的使用

双击该任务连线,弹出“转换数据任务属性”对话框,如下图所示:
 
DTS数据转换服务的使用

源选项卡中主要定义源连接的SQL查询语句。在描述文本框中输入对源连接进行的操作描述文本,在连接单选钮中选择“SQL 查询”,然后再下边的文本框中输入查询语句。该查询语句查出的记录会导入到目标数据库中。如果选择“表/视图”的话,就需要在右边的下拉框中选择相应的表或者视图名称,DTS就会将该表中的所有记录或者视图查出的所有记录全部导入到目标数据库中。
定义完源,接下来定义目标。点击“目的”选项卡,如下图所示:
 
DTS数据转换服务的使用

在表名下拉框中选择要导入数据的目的表,选择了目的表之后,在下边会显示该表的结构。设置了从源表中提取数据的查询SQL语句和到插入数据的目的表之后,就该设置转换的方式了。点击“转换”选项卡,如下图所示:
 
DTS数据转换服务的使用

左边的源显示源查询SQL中查出的字段,右边显示目的表中的字段,此处要指定源和目的字段的对应关系。如果源和目的中的字段名相同的话,DTS会自动建立连线,表示从源中查出的这个字段插入到目的表中的对应字段中。如源中有一个“IDNO”字段,目的中也有一个“IDNO”字段,那么DTS会在这两个字段间建立连线,表示从源SQL中查出IDNO的值插入到目的表中的IDNO字段中。当然源和目的表中的字段名不一定相同,这个时候就需要手动建立源和目的之间的联系,让DTS知道从源中查出的值插入到目的表的哪个字段中。双击连线,弹出“转换选项”对话框,如下图所示:
 
DTS数据转换服务的使用

在“转换选项”对话框中点击“属性”按钮,弹出“列顺序”对话框,在里边选择源和目的列的对应关系,或者点击“转换选项”对话框中“源列”和“目的列”,设定好后点击“确定”按钮。
在数据导入完成之后我们会更新目标数据库表中的状态,所以接下来一个执行SQL的任务,用于执行更新数据的任务。拖一个任务图标到主窗口中,然后双击该图标,在弹出的“执行 SQL 任务属性”窗口中选择数据库连接,输入要执行的SQL语句,如下图所示:
 
DTS数据转换服务的使用

输入完成后点击“确定”按钮,如下图所示:
 
DTS数据转换服务的使用

接下来我们需要将几个图标连接起来,组成一个完整的执行过程。我们要求在数据导入目标表成功之后再更新目标库中的数据状态,所以点击“工作流-->成功时”菜单,如下图所示:
 
DTS数据转换服务的使用

将SQL Server目标库图标和更新数据的图标用成功时连线连接起来,如下图所示:
 
DTS数据转换服务的使用

双击成功时连线,弹出“工作流属性”对话框,如下图所示:
 
DTS数据转换服务的使用

 可以在优先下拉框中选择状态。图中我们选择成功,表示只有在数据导入成功的时候才更新状态,其它情况不更新状态。点击“确定”按钮,然后用相同的方法将删除原来的数据图标和Oracle源数据库连接图标连接起来,如下图所示:
 
DTS数据转换服务的使用

最终效果如下图所示:
 
DTS数据转换服务的使用

接下来我们将这个DTS包保存起来,点击“包-->保存”菜单,如下图所示:
 
DTS数据转换服务的使用

弹出“保存 DTS 包”对话框,如下图所示:
 
DTS数据转换服务的使用

输入包名称,选择保存服务器、登录的用户名和密码,点击“确定”按钮,在“本地包”中就会出现我们刚才建立的DTS服务包,如下图所示:
 
DTS数据转换服务的使用

到此这个DTS包就算完成了,但是它不会自己执行,所以我们还需要建立一个作业,让SQL Server在指定的时间去调用这个DTS包,来完成我们在包中定义的数据转换任务。右击刚才我们新建的DTS包,在右键菜单中选择“调度包...”菜单,如下图所示:
 

DTS数据转换服务的使用
在弹出的“编辑反复出现的作业调度”对话框中设置作业调度的频率及时间等参数,如下图所示:
DTS数据转换服务的使用

具体设置见下边的新建作业说明。设置好后,在“管理-->SQL Server代理-->作业”中会出现上边新建的作业,下来我们可以对这个作业进行编辑。双击这个作业,弹出新建作业的对话框,如下图所示:
 
DTS数据转换服务的使用

在“常规”选项卡中输入作业名称,选择所有者,选中“启用”复选框。点击“调度”选项卡,准备新建作业调度,如下图所示:
 
DTS数据转换服务的使用

点击“新建调度”按钮,弹出“新建作业调度”对话框,如下图所示:
 
DTS数据转换服务的使用

在里边输入作业调度的名称,选中“启用”复选框,在“调度类型”框中选择调度的频率。如果只执行一次,那么可以选择“一次”,然后选择执行的日期和时间。因为我们需要每天都从Oracle中导入数据,所以我们选择“反复出现”。然后点击“更改”按钮,弹出“编辑反复出现的作业调度”对话框,如下图所示:
 
DTS数据转换服务的使用

选择发生频率,如果选择“每天”的话,则在下边的“每日频率”中选择发生的时间。如果选择“每周”,则在右边选择在星期几启动。在“持续时间”中选择开始日期和结束日期。然后点击“通知”选项卡,选择作业完成时的通知方式,如下图所示:
 
DTS数据转换服务的使用

如果想在作业执行完成之后电子邮件通知的话可以选择“电子邮件操作员”。如果选择“写入 Windows 应用程序事件日志”的话,则会在作业失败或者成功的时候记录在Windows的事件日志中。这样作业调度就设置完了,DTS系统会在指定的时间启动作业,来完成我们设定的数据转换任务。
我们也可以手动调用一下这个作业,看一下我们的作业是否正常。右击我们新建的作业,在右键菜单中选择“启动作业”菜单,如下图所示:
 
DTS数据转换服务的使用

然后DTS就会启动作业,完成之后会显示成功或者失败,并记录下来。右击新建的作业,选择“查看作业历史记录”,如下图所示:
 
DTS数据转换服务的使用

弹出“作业历史记录”对话框,用户可以查看作业的执行情况,如下图所示:
 
DTS数据转换服务的使用
分享到:
评论

相关推荐

    DTS构建组件及其如何完成数据转换服务

    DTS 本身包含多个工具并提供了接口来实现在任何支持OLE DB 的数据源间导入、导出或传递数据,并使这一工作变得简单高效。这意味着不仅可以在SQL...具体表现在:数据的导入、导出服务、转换数据、传递数据库对象等方面。

    数据转换 DTS(pdf)版

    非常好的工具书,通过超星转换格式,分为两部分转换的,所以只能分开上传!大家就多麻烦了!

    数据转换服务DTS.ppt

    DTS向导提供了循序渐进的指引功能,依序地指示用户进行数据导入、导出以及转换的工作。 DTS设计器提供了图形客户机接口,用户可以将所需要的对象用鼠标拉出来,并且在源数据与目的数据之间进行转换任务的设置。 DTS...

    探究SQL Server的数据转换服务(DTS).pdf

    探究SQL Server的数据转换服务(DTS).pdf

    sql server 2000完全实战——数据转换报务(dts)

    sql server 2000完全实战——数据转换报务(dts)

    sql-server数据转换服务(DTS)(sql到oracle)详细图解.pdf

    sql-server数据转换服务(DTS)(sql到oracle)详细图解.pdf

    数据转换DTS(pdf版)

    非常好的关于数据转换的介绍,有深度,有高度!

    利用SQL Server DTS工具实现异类数据源转换.pdf

    利用SQL Server DTS工具实现异类数据源转换.pdf

    利用DTS导入_导出向导实现SQL Server数据库表的数据转换.pdf

    利用DTS导入_导出向导实现SQL Server数据库表的数据转换.pdf

    任意数据库类型数据转换系统 OBDB2DB 1.75

    最近公司有一个项目 需要把原来的系统从 MSSQL 升迁到阿里云RDS MySQL 上面 为便于测试 所以需要把原来系统的所有数据表以及测试数据转换到 MySQL 上面 在百度上找了很多方法 有通过微软 DTS 的 也有使用 mss2sql ...

    任意数据库类型数据转换系统 OBDB2DB 1.7

    最近公司有一个项目 需要把原来的系统从 MSSQL 升迁到阿里云RDS MySQL 上面 为便于测试 所以需要把原来系统的所有数据表以及测试数据转换到 MySQL 上面 在百度上找了很多方法 有通过微软 DTS 的 也有使用 mss2sql ...

    任意数据库类型数据转换系统 OBDB2DB 1.85

    最近公司有一个项目 需要把原来的系统从 MSSQL 升迁到阿里云RDS MySQL 上面 为便于测试 所以需要把原来系统的所有数据表以及测试数据转换到 MySQL 上面 在百度上找了很多方法 有通过微软 DTS 的 也有使用 mss2sql ...

    数据变换和转换注意事项(SQL)

    使用数据转换服务 (DTS) 转变或转换异类数据和目的服务器之间的数据之前,请考虑不同程序、提供程序以及驱动程序支持数据类型和 SQL 语句的方式的变化。当使用 Microsoft:registered: SQL Server:trade_mark: 作为...

    SQL SERVER 与ACCESS、EXCEL的数据转换

    熟悉SQL SERVER 2000的数据库管理员都知道,其DTS可以进行数据的导入导出,其实,我们也可以使用Transact-SQL语句进行导入导出操作。...利用下述方法,可以十分容易地实现SQL SERVER、ACCESS、EXCEL数据转换

    使用SQL Server 2000中的DTS进行DTL的一个简单例子

    使用SQL Server 2000中的DTS(数据转换服务)进行DTL的一个简单例子,抽取一个数据库中的部分数据到另一个数据库中。

    SQL Server 2005 DTS导入平面数据出现错误解决方案

    SQL Server 2005 DTS导入平面数据源时,总是被截断,无法执行的错误解决方案 1 典型的错误信息如下: 消息 * 错误 0xc02020a1: 数据流任务: 数据转换失败。列“列 2”的数据转换返回状态值 4 和状态文本“文本被截断...

    SQL SERVER 与ACCESS、EXCEL之间的数据转换

    熟悉SQL SERVER 2000的数据库管理员都知道,其DTS可以进行数据的导入导出,其实,我们也可以使用Transact-SQL语句进行导入...利用下述方法,可以十分容易地实现SQL SERVER、ACCESS、EXCEL数据转换,详细说明如下……

    dts音效大师插件文件

    批量音乐转换(含dts、mlp格式);高级参数设置;支持2.0、5.1、有损、无损互转;支持29种格式。 MTV音乐 一键制作15种MTV视频音乐、3种MTV DVD光盘;支持有损、无损、2.0、5.1;支持设计画面。 无损检测 批量检测无损...

    SQL SERVER、ACCESS、EXCEL数据转换

    熟悉SQL SERVER 2000的数据库管理员都知道,其DTS可以进行数据的导入导出,其实,我们也可以使用Transact-SQL语句进行导入导出... 利用下述方法,可以十分容易地实现SQL SERVER、ACCESS、EXCEL数据转换,详细说明如下:

    SQL Server中导入导出数据三方法比较

    当然,如果要进行复杂的操作,如数据检验、转换等操作时,最好还是使用DTS进行处理,因为 DTS不光导数据效率高,而且能够对数据进行深度控制。当数据量不是很大,并且想将数据导入导出功能加入到程序中,而且没有...

Global site tag (gtag.js) - Google Analytics