SSIS 基本 OLEDB / ODBC 目标脚本





3.00/5 (1投票)
一个简单的目标脚本,用于使用子查询执行更新。
引言
这是一个用于 SSIS 数据流脚本组件的基本脚本,可以修改以使用 OLEDB 或 ODBC 驱动程序执行 SQL 命令。 我创建这个的原因是我的 OLEDB 命令组件不允许我执行带有子选择的 Update
子句。
背景
我搜索了很长时间,希望能找到一个简单的 VBScript 示例,只需在 SSIS 中执行数据库查询。 我找不到,所以不得不修改 MSDN 示例以适应我的目的。
Using the Code
您需要做的就是使用派生列组件或变量创建您的 SQL 命令。 然后,将其作为输入列(此处命名为“SQL_UPDATE
”)添加到脚本组件,并通过连接管理器选项卡添加您的连接(此处命名为 MyConnection
)。
现在,脚本应该可以使用了。
这是最基本的脚本
Public Class ScriptMain
Inherits UserComponent
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
'
Dim Dest As DBDestination = New DBDestination()
Dest.Save(Row.SQLUPDATE, Me.Connections.MyConnection.ConnectionString)
End Sub
End Class
Public Class DBDestination
Public Sub Save(ByVal command As String, ByVal connection As String)
'Using cn As System.Data.Odbc.OdbcConnection = _
' New System.Data.Odbc.OdbcConnection(_connection)
Using cn As System.Data.OleDb.OleDbConnection = _
New System.Data.OleDb.OleDbConnection(connection)
cn.Open()
'Dim cmd As System.Data.Odbc.OdbcCommand = cn.CreateCommand()
Dim cmd As System.Data.OleDb.OleDbCommand = cn.CreateCommand()
cmd.CommandType = CommandType.Text
cmd.CommandText = command
cmd.ExecuteNonQuery()
End Using
End Sub
End Class
关注点
这里没有什么特别的。 只是一个解决令人烦恼问题的基本方案。 但由于 SSIS 易于使用,我不想编写大量的代码来维护 SSIS 提供的易于维护性。 请随意使用和修改代码。