当前位置:操作系统 > Unix/Linux >>

创建SSIS包—建立端到端的package

通过基本task和transforms的学习,现在可以转入到SSIS实际应用。建立端到端的package这个系列中首先讲解将一系列的文件数据导入到SQL Server中的方法,然后添加一些复杂转换,最后将看到如何在package中处理错误和动态地创建package。

  

创建一个项目

使用SSIS的首要目的是从数据源中读取数据,然后写入Destination中,这个向导介绍从平面文件中读取数据。使用下面的文字

Zipcode State ZipName
32008 FL BRANFORD
32009 FL BRYCEVILLE
32011 FL CALLAHAN
32013 FL DAY
32033 FL ELKTON
32034 FL AMELIA ISLAND
32038 FL FORT WHITE
32040 FL GLEN SAINT MARY
32043 FL GREEN COVE SPRIN
32044 FL HAMPTON
32046 FL HILLIARD
32052 FL JASPER
32053 FL JENNINGS
32054 FL LAKE BUTLER
32055 FL LAKE CITY
32058 FL LAWTEY
32059 FL LEE
32060 FL BOYS RANCH
32061 FL LULU
32062 FL MC ALPIN
32063 FL MACCLENNY
32065 FL ORANGE PARK
32066 FL MAYO
32068 FL MIDDLEBURG
32071 FL O BRIEN
32073 FL ORANGE PARK
32082 FL PONTE VEDRA BEAC
32083 FL RAIFORD
32084 FL SAINT AUGUSTINE
32086 FL SAINT AUGUSTINE
32087 FL SANDERSON
32091 FL STARKE
32092 FL SAINT AUGUSTINE
32094 FL WELLBORN
32095 FL SAINT AUGUSTINE
32096 FL WHITE SPRINGS
32097 FL YULEE
32102 FL ASTOR
32110 FL BUNNELL
32112 FL CRESCENT CITY
32113 FL CITRA

创建ZipCode.txt文件,这个文件包含美国邮政编码。新建一个项目,选择项目类型Integration Service Project,如图5-1,将默认的package文件Package.dtsx重命名为ZipLoad.dtsx。

图5-1

  

创建连接

我们创建一个能在多个package中使用的连接,在解决方案管理器中右击Data Source文件夹新建一个数据源,打开数据源向导,选择“Create a data source based on an existing or new connection”点击New,代开连接管理器。

注意:有多种方式建立数据源连接,例如,可以在Data Flow中拖放数据源任务。

选择Native OLE DBSQL Native Client,输入连接名字,为方便读写数据库选择授权模式,最后选择AdventureWorks数据库,点击OK。如果没有安装AdventureWorks数据库可以任意选择一个数据库,然后测试连接,将数据源命名为AdventureWorks。在DataFlow拖放数据源的方式不能共享数据源,在下面ConnectionManagers中点击新建连接时可以看到我们已经创建好的一个连接,在所有的package中都可以选择这个连接。

下一步,新建一个指向ZipCode.txt的平面文件链接,在Package Designer中右击选择新建文件链接,命名为ZipCode Extract,指向连接C:SSISDemosipCode.txt。

Format下拉列表选择默认的Delimited,Text qualifier默认选择<none>。Text Qualifier用来设定字符串的分隔符。在文本中以逗号分隔是这个选项设置会很有用,他会忽略这些符号只抓取文本。在这个例子中文本内容没有分隔符,所以保持默认选择<none>。Header row delimiter选项设置为Tab{t},并选中Column names in first data row单选框,最终的界面如图5-2

图5-2

点击Columns进入标签界面,Row Delimiter默认设置{CR}{LF},意思是使用回车换行来分隔行。Column Delimiter选择项保持默认设置Tab{t},意思是使用制表符区分列。由于选中了Column names in first data row选项所以这里看到第一行的显示的是数据而不是列名。

点击Advanced进入标签界面,在这个界面中可以设置每一个列的数据类型。默认的类型是50个字符的字符串,在这个例子中比实际要长。选中ZipCode,点击Suggest Types打开Suggest Column Types对话框,一般情况下保持默认选项,点击OK选择合适的类型。然后可以看到数据类型变成了two-byte signed integer [DT_I2],这种类型在一般情况下会满足要求,如果邮编号码以0开头时会出现错误,所以点击下拉列表框选择string [DT_STR],OutPutColumnWidth选项设置为5,最后TextQualified选项选择false,如图5-3。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,