PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
20293 | 03/09/09 19:07:34 | RE(2):PB7.0: Sybaseのストアド・プロシージャ By hirotyan |
20292 | 03/09/09 18:35:48 | RE(1):PB7.0: Sybaseのストアド・プロシージャ By htoydoa |
20283 | 03/09/08 16:54:39 | PB7.0: Sybaseのストアド・プロシージャ By htoydoa |
カテゴリ:スクリプトの記述
日付:2003年09月09日 18:35 発信者:htoydoa
題名:RE(1):PB7.0: Sybaseのストアド・プロシージャ
過去ログより、結果集合を伴わないプロシージャはRPCFUNCを使用して値を取得する
ということが分かりました。こちらの早とちりで、申し訳ありませんでした。
が、こちらもうまくいきません。ユーザーオブジェクトを作成し、
オブジェクト内の関数を実行するのですが、
SQLSTATE = S1104
[INTERSOLV][ODBC SQL Server driver]
Character, decimal, and binary parameters cannot have a precision of zero. Error in parameter 1.
以上のようなエラーメッセージが出てきてしまいます。
このメッセージは、どういう意味なのでしょうか。引数に関することのようですが。
どなたかご教授よろしくお願いいたします。
>Sybaseの任意のプロシージャを実行できず、困っています。
>
>プロシージャはこちらで作成したもので、10桁の文字列に格納している数値を渡して、1桁の
>ディジットコードを取得するというものです。
>INの引数が一つ、OUTの引数が一つ(いずれもchar型)で、結果集合は何も返しません。
>
>まず、変数とプロシージャを宣言して
>string ls_aaa
>string ls_bbb
>
>Declare get_xxx PROCEDURE FOR p_xxx
>@IN_xxx = :ls_aaa ← INの引数
>@OUT_xxx = :ls_bbb output ← OUTの引数
>USING SQLCA;
>
>次にEXECUTEを実行しますが
>EXECUTE get_xxx;
>
>まず以下のようなメッセージが出てしまいます。
>SQLSTATE = S1000
>[INTERSOLV][ODBC SQL Server driver][SQL Server]ストアド・プロシージャに定数を渡すときは、
>OUTPUT オプションを使うことができません。
>
>試しにoutputを外してみると、sqlcodeが100で返ってきて、OUTの引数を取得できません。
>
>一体どこが問題なのでしょうか。不躾ですが、ご教授よろしくお願いいたします。
>
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS (記載なし)
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS Windows 2000
DBMS Sybase SQL Server System 11
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.