执行sql语句是SQL Server 2005 Integration Services (SSIS)中最容易和常见的任务之一。下面的例子是如何在SSIS包中添加SQL语句并捆绑成逻辑单位。
1 创建SSIS包 【SQL-VS中】
在SSIS包中执行SQL语句之前,需要先建立一个数据源来指定需要连接的SQL Server和数据库。右键单击Solution Explorer窗口中的数据源文件夹,选择New Data Source(图1)。如果找不到这个窗口,可以到View菜单中选择Solution Explorer。
选择New Data Source选项,就会弹出Data Source Wizard窗口。因为还没有定义Data Source,因此单击New按钮
现在以连接SQL Server为例,在Server Name下拉列表中选择(local),然后可以选择想要连接的数据库
为新的Data Source 命名。然后可以添加更多的需要的数据源。一个SSIS包能够连接同一个包中多个不同的数据源——甚至不同类型的数据源。
现在已经确立了一个连接,该考虑需要用来执行SQL语句的对象了。从Control Flow菜单中把三个Execute SQL Task任务选项拖动到Control Flow屏幕中(图5)。使用这些任务创建BigScreenProduct图表,ComputerProduct图表以及PoolTableProduct图表。如果要重命名这些任务,右键单击需要重命名的任务,选择Rename。
为了指定任务中的各项,双击第一个项,然后会弹出Execute SQL Task Editor任务编辑窗口在这个窗口中可以指定想要连接的数据服务器。选择之前创建的Data Source然后单击OK
建立好数据源后,需要定义想要执行的SQL语句。以下为执行语句的三种选择:
直接输入,即在窗口中直接输入SQL语句。
指定一个含有SQL语句的文件。
指定一个含有SQL语句的变量。
对于直接输入的选择,可以单击Execute SQL Task Editor任务编辑器窗口中的省略号,进入SQL脚本。
语句的代码如下:
以下是引用片段:
IF OBJECT_ID(’BigScreenProducts’) IS NOT NULL
DROP TABLE BigScreenProducts
GO
CREATE TABLE BigScreenProducts
(
[SaleID] INT,
[Product] VARCHAR(50),
[SalePrice] MONEY
)
这个脚本会查看BigScreenProducts表格是否存在,如果存在,就把它删除掉。然后再自行创建BigScreenProducts表格。
对于后两项任务,可以重复刚才的Execute SQL Task的步骤,只要在SQL脚本中改变表格的名称。可以在第二和第三个任务中分别用PoolTableProducts和ComputerProducts代替BigScreenProducts。
如果喜欢把多个语句放在一起作为一个逻辑工作单位来执行,可以把多个任务包含进Sequence Container任务选项中。在Control Flow Items菜单中,把Sequence Container拖动到Control Flow菜单里;然后再把多个Execute SQL Tasks拖动到这个container对象中
最后只剩下执行的步骤了。如果之前没有在包中定义任何优先控制设置,所有任务就会同事执行
2 改变SSIS包的连接 【SQL-VS中】
打开SQL-VS,open attached SSIS package.
Change and Save
3 Add the SSIS package to the Integration Services
1. Under the MSDB, create a new folder called “NP”
2 Right click the new folder and Import Package
3. Click on the “Package location” and change it to “File System”
4. Click on the Package path and locate and select the SSIS Package
5. Click on the “Package Name”
6. Click on the “Protection level” and select “Rely on server storage….”
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23155850/viewspace-670026/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23155850/viewspace-670026/