Imports System.Reflection
Imports System.Reflection.Assembly
Friend Class OracleClient
Private Shared OraAssembly As Assembly
Public Shared Function CreateRefCursorParameter(ByVal ParameterName As String) As Object
If OraAssembly Is Nothing Then
'Always check the assebmly from application BIN folder, if does not exist, load failed
OraAssembly = Assembly.Load("Oracle.DataAccess")
If OraAssembly Is Nothing Then
Throw New Exception("Oracle.DataAccess.DLL is not found in the application folder")
Else
Trace.WriteToTraceLog("Runtime Loaded Assembly:" & OraAssembly.FullName & vbCrLf & "From:" & OraAssembly.Location, TraceLevel.Verbose)
End If
End If
Dim OracleDbType As Type = OraAssembly.GetType("Oracle.DataAccess.Client.OracleDbType")
Dim Fieldinfo As FieldInfo = OracleDbType.GetField("RefCursor")
Dim OracleParameter As Type = OraAssembly.GetType("Oracle.DataAccess.Client.OracleParameter")
Dim m As ConstructorInfo = OracleParameter.GetConstructor(New Type() {GetType(System.String), OracleDbType, GetType(System.Data.ParameterDirection)})
If m IsNot Nothing Then
' call the method to create parameter
Return m.Invoke(New Object() {ParameterName, Fieldinfo.GetValue(Nothing), ParameterDirection.Output})
Else
Throw New Exception("Error creating OracleParameter -RefCursor")
End If
End Function
End Class
Tuesday, July 08, 2008
Subscribe to:
Posts (Atom)
Blog Archive
- June (1)
- April (2)
- April (1)
- August (1)
- April (1)
- March (1)
- February (1)
- March (1)
- February (2)
- August (1)
- April (1)
- March (1)
- February (2)
- November (3)
- September (1)
- August (1)
- June (1)
- April (1)
- March (1)
- February (5)
- January (1)
- August (1)
- July (1)
- January (2)
- August (1)
- June (1)
- March (4)
- February (3)
- January (3)