SSIS处理导入数据时, 存在的更新, 不存在的插入

上一篇 / 下一篇  2008-01-31 12:00:32 / 个人分类:技术文章

问题描述:

当你把数据从其他数据库,或者是文本文件之类的其他数据源导入到目的数据库时,有时希望在导入的处理中,能够实现"数据存在时更新,不存在时导入"

在之前,一般是通过导入临时表,然后再判断处理导入正式表的,SQL Server 2005, SSIS可以在导入处理时直接完成这种处理.

下面具体演示一下如何用SSIS完成这样的处理:

1.         准备测试环境

-- 1.在数据库中创建下面的对象

USEtempdb

GO

CREATETABLEdbo.tb(

   idintPRIMARYKEY,

   namenvarchar(128))

GO

-- 2.准备两个文本文件,放在d:\test目录下,文件的内容如下

t1.txt

id name

1  张三

2  李四

t2.txt

id name

1  张三君

3  李林

4  阿联酋

2.         创建新的Integration Services项目(创建SSIS包)

Ø      在“开始”菜单中,依次指向“所有程序”、“Microsoft SQL Server2005,再单击SQL Server Business Intelligence Development Studio

Ø      在“文件”菜单中,指向“新建”,再单击“项目”,以创建一个新的Integration Services项目。

Ø      在“新建项目”对话框的“模板”窗格中,选择“Integration Services项目”。

Ø      在“名称”框中,将默认名称更改为SSIS Tutorial。或者,清除“创建解决方案的目录”复选框。

Ø      接受默认位置,或单击“浏览”,以浏览并找到要使用的文件夹。

Ø      在“项目位置”对话框中,单击文件夹,再单击“打开”。

Ø      单击“确定”。

Ø      默认情况下,将创建一个名为新建包.dtsx的空包,并将该包添加到项目中。

Ø      在解决方案资源管理器工具栏中,右键单击Package.dtsx,再单击“重命名”,将默认包重命名为Lesson 1.dtsx

Ø      当系统提示重命名包对象时,单击“是”。

3.         SSIS包添加数据源(导入数据的源和目标数据源)

Ø      首先添加导入数据的源

Ø      右键单击“连接管理器”区域中的任意位置,再单击“新建平面文件连接”。

Ø      在“平面文件连接管理器编辑器”对话框的“连接管理器名称”字段中,键入Source

Ø      单击“浏览”。

Ø      在“打开”对话框中,浏览并找到“d:\test\t1.txt”文件。

Ø      “常规”选项中,勾选“在第1个数据行中显示列名称”。

Ø      “高级”选项中,选择“id”列,将数据类型设置为“four-byte single integer[DT_I4]”。

Ø      “高级”选项中,选择“name”列,将数据类型设置为“Unicode string[DT_WSTR]”。

Ø      然后,你可以在“预览”中查看数据是否正确。

Ø      然后添加接收数据的目的数据源

Ø      右键单击连接管理器区域中的任意位置,再单击“新建OLE DB连接

Ø      配置OLE DB连接管理器对话框中,单击新建

Ø      服务器名称中,输入localhost

Ø      localhost指定为服务器名称时,连接管理器将连接到本地计算机上Microsoft SQL Server 2005的默认实例。若要使用SQL Server 2005的远程实例,请将localhost替换为要连接到的服务器的名称。

Ø      登录到服务器组中,确认选择了使用Windows身份验证

Ø      连接到数据库组的选择或输入数据库名称框中,键入或选择tempdb

Ø      单击测试连接,验证指定的连接设置是否有效。

Ø      单击确定

Ø      单击确定

Ø      配置OLE DB连接管理器对话框的数据连接窗格中,确认选择了localhost.tempdb

Ø      单击确定

4.         SSIS包添加数据流任务

Ø      单击“控制流”选项卡。

Ø      在“工具箱”中,展开“控制流项”,并将一个数据流任务拖到“控制流”选项卡的设计图面上。

Ø      在“控制流”设计图面中,右键单击新添加的数据流任务,再单击“重命名”,将名称更改为Import Data

5.         在数据流任务中设置数据流源

Ø      打开“数据流”设计器,方法是双击Import Data数据流任务或单击数据流选项卡。

Ø      工具箱中,展开数据流源,然后将平面文件源拖动到数据流选项卡的设计图面上。

Ø      数据流设计图面上,右键单击新添加的平面文件源,单击重命名,然后将该名称更改为Source Data

Ø

TAG:

引用 删除 Guest   /   2008-03-31 12:13:35
5
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-07-25  
  12345
6789101112
13141516171819
20212223242526
2728293031  

数据统计

  • 访问量: 58546
  • 日志数: 24223
  • 建立时间: 2007-12-06
  • 更新时间: 2008-06-15

RSS订阅

Open Toolbar