create or replace PROCEDURE PROCEDURE_ONE(
T1_CURSOR OUT SYS_REFCURSOR,
Date_Start_P in Date Default sysdate
)
as
begin
OPEN T1_CURSOR FOR ...
Это работает при тестировании с Oracle SQL Developer
Мой VB. Net Коду не нравится параметр
Private Function Load_Aging_Stock() As DataTable
Try
Dim dba As New Data_Access_Class
Dim strSQL As String = "JOHN.PROCEDURE_ONE"
Dim dt As DataTable
Dim cmd As OracleCommand = dba.CreateStoredProcCommand(strSQL)
Dim oracleParameter(1) As OracleParameter
oracleParameter(0) = New OracleParameter()
oracleParameter(1) = New OracleParameter()
cmd.BindByName = True
With cmd
oracleParameter(0) = cmd.Parameters.Add("T1_Cursor", dbType:=Oracle.ManagedDataAccess.Client.OracleDbType.RefCursor, ParameterDirection.Output)
'.Parameters.Add("T1_CURSOR", OracleClient.OracleType.Cursor).Direction = ParameterDirection.Output
If Me.chk_No_Date_Start.Checked = False Then
Dim tmpDate As String = CDate(Me.dt_Start_Date.Text.Trim).ToString("yyyy-MM-dd")
oracleParameter(1) = cmd.Parameters.Add("Date_Start_P", dbType:=Oracle.ManagedDataAccess.Client.OracleDbType.Varchar2, val:=tmpDate, ParameterDirection.Input)
'.Parameters.Add("Date_Start_P", OracleClient.OracleType.DateTime).Value = Me.dt_Start_Date.Text
End If
End With
dt = dba.ExecuteSelectCmdDataTbl(cmd)
Return dt
Catch ex As Exception
Dim Err As New SS_Errors("frm__Report", "Load_Report", ex)
Return Nothing
End Try
End Function
Я также попробовал тот же код, но заменил Varchar2 на Date, и оба раза я получаю одно и то же исключение
Один из идентифицированных элементов был в недопустимом формате.