ODP.NETでのストアド実行しようとしてたら、
オラクルからこれ(ORA-06502: PL/SQL: 数値または値のエラー: 文字列バッファが小さすぎます)が返ってくる。
ストアドのvarchar2のアウトパラメータにサイズ設定してなかった…
またかー。すぐ忘れるなー。
こんな感じのファンクションをパラメータ設定用に作っておけばよさそう(適当)
Public Sub AddOraParam(ByVal parameterName As String, _ ByVal direction As ParameterDirection, _ ByVal dbType As OracleDbType, _ ByVal value As String) '通常はsize=0 AddOraParam(parameterName, direction, dbType, 0, value) End Sub Public Sub AddOraParam(ByVal parameterName As String, _ ByVal direction As ParameterDirection, _ ByVal dbType As OracleDbType, _ ByVal size As Integer, _ ByVal value As String) Try ' パラメータ生成 Dim parameter = New OracleParameter(parameterName, dbType, direction) If ParameterDirection.Output = direction OrElse ParameterDirection.ReturnValue = direction Then 'OutputとReturnValueのときは値をセットしない If dbType = OracleDbType.Varchar2 OrElse dbType = OracleDbType.Char Then If size = 0 Then '文字列をアウトパラメータに指定したときは、サイズを指定しないとエラー 'Return エラー値返すとかロギングとか Else 'サイズ設定 parameter.Size = size End If End If Else 'Inputの値をセット If String.IsNullOrEmpty(value) Then 'Inputに指定したときは、valueがないとエラー 'Return エラー値返すとかロギングとか Else '値とサイズ設定 parameter.Value = value parameter.Size = size End If End If _bindParameter.Add(parameter) Catch ex As Exception 'Return エラー値返すとかロギングとか End Try End Sub