- PR -

Oracleストアドファンクションの戻り値の取り方は?

1
投稿者投稿内容
Cookie
ベテラン
会議室デビュー日: 2002/11/05
投稿数: 59
投稿日時: 2004-08-20 15:38
こんにちは。
あれこれ試したのですが行き詰ってしまったので
こちらで質問させてください。 

VB.NETからOracleのストアドファンクションを呼び、
戻り値を取得したいのですが、パラメータの設定の仕方がよくわからず
うまくいきません。

ソースはこんな感じになっています。
----------------------------------------------------------------

 Dim objCommand As New OracleCommand("ファンクション名")
 objCommand.Connection = objConn 'コネクションオブジェクト
 objCommand.CommandType = CommandType.StoredProcedure

 Dim ret As OracleParameter = _
   objCommand.Parameters.Add( _
       New OracleParameter("RTNCD", OracleDbType.Char, _
             ParameterDirection.ReturnValue))
 
 Dim param As OracleParameter = objCommand.Parameters.Add( _
       New OracleParameter("PARAM", OracleDbType.Char, _
             ParameterDirection.Input))
 
 objCommand.Parameters("PARAM").Value = "ABC"
 objCommand.ExecuteNonQuery()

※ファンクションは省略
----------------------------------------------------------------

カーソルを返却するファンクションやOUTPUT引数を持つプロシージャは
変数名の指定でパラメータオブジェクトが作成出来るのでどうにかなったのですが、
通常の値を戻すファンクションの場合、戻り値をどのようにして取得したらよいのか
わかりません。( ... RETURN CHAR IS BEGIN とかになるので、名前が…。
ちなみに上の"RTNCD"という変数名は、ファンクションには出てきません。)


OTNなどでも調べてはみましたが、意図する情報が見つかりませんでした。
どなたかわかる方がいらっしゃいましたら、アドバイスお願い致します。

[ メッセージ編集済み 編集者: Cookie 編集日時 2004-08-20 15:41 ]
Cookie
ベテラン
会議室デビュー日: 2002/11/05
投稿数: 59
投稿日時: 2004-08-20 16:07
すみません。スピード解決自己レスです。
--------------------------------------
 ret.size = 2
--------------------------------------
を追加したら動きました…
1

スキルアップ/キャリアアップ(JOB@IT)