1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > ssis oracle配置 通过SSIS执行Oracle参数是什么?

ssis oracle配置 通过SSIS执行Oracle参数是什么?

时间:2022-05-03 10:12:10

相关推荐

ssis oracle配置 通过SSIS执行Oracle参数是什么?

专家解答

修改你的ActiveX Script任务的最佳方法就是使用脚本组件数据流任务。这个脚本组件允许你在自己的数据流中执行VB。Net代码。当你把一个脚本组件添加到一个数据流中时,你需要选择下面其中一个选项: 如何使用SSIS中的逆透视数据流转换

源 – 你的代码将从某些地方检索数据,然后把行添加到该数据流中。

目标地址 – 你的代码将从这个数据流的字段中检索数据,然后把这些数据保存在某个地方。

转换 – 你的代码将在这个数据流的字段上做一些转换。

要针对一个Oracle数据库执行参数查询,你需要选择源。下面是我们作为一个实例建立的数据流:

Oracle参数查询

上面数据流的第一个步骤是一个针对Oracle数据库执行一个参数查询并且添加行到数据流中的脚本组件源。

Row Count分配行数到一个程序包变量中,Flat File Destination把每行都写到一个文本文件中,这就允许我们和容易看到抽取的数据。我们将把全部的注意力放在配置脚本组件源和我们需要用来从 Oracle检索数据的VB。Net上。

高效数据检索优化应用程序性能

下面三个步骤与配置脚本组件源有关:

输入和输出 – 定义要添加到数据流中的输出字段。

连接管理器 – 指定在SSIS 程序包定义的任何连接管理器,这里的程序包就是我们将在VB。Net代码中使用的。

脚本- 指定我们在VB。

Net代码中使用的任何程序包变量并且输入VB。Net代码。

输入和输出

当你开始编辑脚本组件源属性时,编辑器中的第一页就是如下显示的输入和输出:

使用这个页面指定你想添加到数据流中的输出字段。右键单击输出字段来添加字段。在VB。Net代码中,你要在某个时间添加一行到数据流中并且指定这里定义的每个输出字段的值。

连接管理器oracle认证更多详细资料

连接管理器页面显示如下:

使用这个页面来指定你在SSIS程序包中定义的任何连接管理器,这个程序包正是你想在VB。Net代码中使用的。填写带有自己选择的标识符的名称字段;你输入的名称将指出你怎样引用VB。

Net代码中的连接管理器。这个连接管理器字段是一个下拉菜单,你可以选择SSIS程序包定义的任何连接管理器。在我们的例子中,我们将写ADO。Net代码来访问Oracle数据库。当你定义这个连接时,可以打开它,关闭它等等,在代码中让SSIS程序包解决这些细节是很有意义的。

在下面的脚本部分中,我将介绍怎样在代码中访问连接管理器。

脚本

脚本页面显示如下:

在ReadOnlyVariables 或者ReadWriteVariables中列出你想要访问VB。Net代码的SSIS程序包中定义的任何变量。在这个例子中,我们将在我们的SQL语句的where从句中使用v_dept变量。

在这个页面上有一个设计脚本按钮(上面的截图中没有显示);单击它启动应用程序环境的Microsoft Visual Studio,在这里,你可以输入VB。Net代码来访问Oracle数据库并且配置该数据流中的行和列。

现在,让我们写脚本组件源的代码。

如下,添加一个引用到System。Data。OracleClient集合中。右键单击引用节点,从内容菜单中选择引用,从可用集合列表中选择集合,接着单击添加按钮。这里有一些集合引用是自动添加的;Oracle集合并非如此,所以需要你添加。

下面是针对Oracle数据库执行参数查询和添加结果到数据流中的VB。

Net代码:

Imports System

Imports System。Data

Imports System。Math

Imports Microsoft。SqlServer。Dts。Pipeline。Wrapper

Imports Microsoft。

SqlServer。Dts。Runtime。Wrapper

' STEP 1: add import of OracleClient

Imports System。Data。OracleClient

Public Class ScriptMain

Inherits UserComponent

' STEP 2: add variables

Private connMgr As IDTSConnectionManager90

Private oracleConn As OracleConnection

Private oracleCmd As OracleCommand

Private oracleRdr As OracleDataReader

' STEP 3: add override to get connection

Public Overrides Sub AcquireConnections(ByVal Transaction As Object)

connMgr = Me。

Connections。ORCL

oracleConn = CType(connMgr。AcquireConnection(Transaction), _

OracleConnection)

End Sub。

全部

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。