2009-06-12 72 views

回答

1

我相信這是你的AR找什麼 http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/fcdaa97e-8415-4c3e-8ffd-1ad45b590d57/ (從那裏):

我們可以使用腳本組件與參考遊標作爲參數(S)

添加輸出執行Oracle存儲過程組件的列。

對於例如:我有這需要)把

我加入2-這樣的列的EmpID和EmpName,然後覆蓋CreateNewOutputRows(類型REF光標的參數的放作爲

Public Overrides Sub CreateNewOutputRows() 

Try 

Dim dr As OracleDataReader = oracleCmd.ExecuteReader() 

While dr.Read 

Output0Buffer.AddRow() 

Output0Buffer.EmpID = CDec(dr(0).ToString) 

Output0Buffer.EmpName = dr(1).ToString 

End While 

Catch ex As Exception 

Me.ComponentMetaData.FireError(-1, "InitExtract", ex.Message, String.Empty, 0, True) 

End Try 

Output0Buffer.SetEndOfRowset() 

End Sub 
一個Oracle包Get_Employees.GetEmployees

在此之前,我們需要設置oracle的命令對象在PreExecute子例程:

Dim plsql As String = "BEGIN Get_Employees.GetEmployees(:curEmployeesbyID);END;" 

oracleCmd = New OracleCommand(plsql, oracleConn) 

With oracleCmd 

.CommandType = CommandType.Text 

.Parameters.Add(":curEmployeesbyID", OracleType.Cursor).Direction = ParameterDirection.Output 

End With