当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server中使用DTS设计器进行数据转移

MSSQL
sql 批量修改数据库表
mssql CASE,GROUP BY用法
利用SQL SERVER建立登录WINDOWS帐号
SQL Server 2008 正式版安装指南 包含序列号
SQL Server 2008图文安装教程
sql 语句 取数据库服务器上所有数据库的名字
sqlserver 数据类型转换小实验
SQL Server 存储过程解析
压缩技术给SQL Server备份文件瘦身
SQL Server 2005 还原数据库错误解决方法
Sql Server datetime问题
SQL语句 操作全集 学习mssql的朋友一定要看
格式导致的Excel导入sql出现异常的解决方法
SQL Server 数据库自动执行管理任务
sql Set IDENTITY_INSERT的用法
sql 修改表的所有者
过程需要参数 ''@statement'' 为 ''ntext/nchar/nvarchar'' 类型
mssql 建立索引
SQL Server 索引结构及其使用(一)--深入浅出理解索引结构
SQL Server 索引结构及其使用(二) 改善SQL语句

MSSQL 中的 SQL Server中使用DTS设计器进行数据转移


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

以SQL Server中的Northwind示范数据库为例,利用DTS设计器,进行数据的转移。

转移任务的步骤:

◆1. 新建目的数据库NOrthwind_DTS

◆2. 激活DTS设计器

在Enterprise Manager上右击数据转换服务图表->新建包,将弹出一个新的窗口。

◆3. 创建数据源与目的地

在第2步弹出的新窗口右侧工具栏中找到Microsoft OLE DB Provider for SQL Server图标,单击,并在弹出的对话框的新建链接栏输入Northwind,在数据库(B)的下拉列表中选取Northwind选项。其他默认设置,确定。然后,以同样的方法创建数据目的地,命名为Northwind_WH,其中数据库(B)下拉列表选项中选取 Northwind_WH选项。

◆4. 转移事实表

首先创建转换数据任务:先单击Northwind图标,然后按住ctrl键再单击Northwind_WH图标,即同时选中第3步创建出来的Northwind图标和Northwind_WH图标,然后在工具栏上找到“转换数据任务”工具按钮,单击即可以创建一个从Northwind数据源指向Northwind_WH数据目的地的指针,我们可以新建一个批注文本框,为这个指针命名“Sales事实表转换数据任务”。

设置数据转换任务:双击Sales事实表的转换数据任务指针,在弹出的属性对话框中单击【源】标签,在【描述(D):】中输入“Sales事实表转换数据任务”,然后选中【SQL查询(S):】单选按钮,并输入一下语句:

select e.EmployeeID, p.ProductID, s.SupplierID,

c.CustomerID, o.OrderDate, od.UnitPrice,

Od.Quantity, od.Discount

from Orders o,[Order Details] od, Employees e,

Products p, Suppliers s, Customers c

where (o.OrderID = od.OrderID) and

(o.EmployeeID = e.EmployeeID) and

(o.CustomerID = c.CustomerID) and

(od.ProductId = p.ProductID) and

(p.SupplierID = s.SupplierID);

我们可以点击“分析查询”按钮,检查SQL语句的语法是否正确;也可以“预览”查询结果,以检验数据是否正确;单击“生成查询”即可激活查询设计器,根据需要对刚才的SQL语句进行修改。

单击【目的】标签,然后单击“创建”按钮,即可激活一个包含SQL的对话框,我们将语句中的“新建表”修改成我们需要的表名“Sales”,并在最后添加一行:[Total] money NOT NULL。这时,DTS设计器已经为我们在Northwind_WH数据中新建了表Sales。

单击【转换】标签,可以看到DTS设计器为我们指定的字段之间的转换任务。我们希望将UnitPrice*(1.0-Discount)*Quantity存入Total字段,因此这里只需要对Total字段进行如下设置:

现在左侧的“源”中选中Quantity、UnitPrice和Discount,然后选中右侧“目的”的Total,选中之后,单击“新建”按钮,在弹出的对话框中选中ActiveX Script,点确定,将弹出转换属性对话框,点击此对话框中的“属性”按钮,激活“ActiveX脚本转换属性窗口,然后在此窗口的左侧“语言(L):”下拉列表中选中VB Script Language,修改右侧的代码如下:

Function Main()

DTSDestination("Total") =

DTSSource("UnitPrice")*DTSSource("Quantity")*(1.0-DTSSource("Discount"))

Main = DTSTransformStat_OK

End Function

在这里也可以点击“分析”按钮,以检查转换函数是否正确书写。也可以“测试”并在测试中“查看结果”。最后,一路确定返回到“转换数据任务属性”对话框。

确定并完成设置,回到第一步的主窗口。

◆5.保存DTS转换数据任务包,在保存的时候可以对此转换数据任务做一些相应的设置。

◆6.执行包。与数据转换相关的信息都存储在包之内,我们可以在适当时间执行包以将数据加载进目标数据库。包可以重复使用,可以包含一个以上的表转换任务。如果希望每个一段时间后保能够递增式的将数据加载,则可以将时间或是其他的条件一并加入包内。

现在我们来执行刚才建立好的包,将数据从Northwind加载到Northwind_WH。在转换数据任务下面的本地包目录中找到刚才建立好的包的图标,右键选取【执行包(X)】选项,按提示操作即可。