■SI ObjectBrowser掲示板

ユーザの皆様、開発者、サポート担当者の交流のための掲示板です!discussion
ユーザーのみなさま同士で教え合ったり、アドバイスしたりする暖かい交流の場にしたいと思っていますので、相互協力をよろしくお願いします。なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。

※◆のカラーは投稿の対象となる製品に対応しています。【…OB …OBER …全般 ◇…その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。




バインド変数が"?"で取得できなくなった。 2022/05/20 19:09:45
ロロ
以前のバージョンではバインド変数が?で取得が可能だったのに現在のバージョンは出来なくなってます。別の方が同じ様な質問をしていました。それに対してOBサポートから、「?は使用できない仕様です。」と回答がありました。追い質問で「以前は使えたんですけど、仕様変更したんですか?」の質問には回答ありませんでした。これって明らかに製品レベルがダウンしてませんか?何とかならないものでしょうか?
元の文章を引用して返信

Re: バインド変数が"?"で取得できなくなった。 2022/05/23 12:22:51
OBサポート
OBサポートです。
過去のご質問につきまして、ご回答が漏れていた件
誠に申し訳ありません。

■バインド変数の動作
バインド変数の動作につきましては、
現状 ":"(セミコロン)のみ対応となります。

また以前のバージョンでは利用できていたとのことですが、
Oracle Database側で"?"によるバインド変数の構文がエラーとなっていることから、
Oracle Databaseの動作に沿った動作仕様と考えられます。
※当時の"?"による動作につきましては、
 製品の動作、修正履歴等を見直しましたが確認が取れず、
 現時点では仕様変更されたかに関するご回答ができない状況となります。
 
 また、Oracle Database側の動作につきましても、
 現在確認が取れる環境としてOracle Database 11gでの動作を確認したところ、
 "?"によるバインド変数は構文上エラーとなることが確認されております。
 (SI Object Browserではなく、標準のSQLPlusによって確認を行いました。)

大変お手数ですが、何卒よろしくお願い申し上げます。
元の文章を引用して返信

Re: バインド変数が"?"で取得できなくなった。 2022/05/23 15:33:57
ロロ
Oracle Database側で「?」がバインド変数として利用できない事は承知しております。
これは昔からそうです。それは承知しております。
オブジェクトブラウザ側のSQLが発行できるツールがありますよね。このツールは以前のバージョンでは「?」で利用できたと言っています。
SQLPLusではなく、オブジェクトブラウザの内部のSQLを発行できるツールの事です。

オブジェクトブラウザの様な有料ツールをお金を出してまで使うのは、何かと便利な機能があるからです。
JavaプログラムのSQL(javaはバインド変数は「?」)を貼り付けて、そのまま置換などしなくてもバインド変数と理解してくれて、SQLが発行できた点も、お金を出してでも利用する価値があると判断した一つの要因です。
内部的には?を個数分だけ:1、:2、:3などに置き換えてSQL発行しSQLplusに繋いでいるのだと思われます。
この機能がたぶん昔は入っていて今は無くなってるように思われます。
簡単な機能ですが、それがなくなる事で、SQL発行時はバインド変数を置換するという一手間が追加されます。
その機能がないならSQLplusを直接叩くのと変わらない。
是非とも昔のツールの様に「?」が使える様に戻して欲しい。
因みに今のツールでも「?」を利用したSQLでも、バインド変数入力部は「?」の個数分、昔と同じ様に表示されています。つまり入力部は「?」をバインド変数と認識している。
後は内部的なSQL置換などがなくなっている(バグっている)だけかと、、、
以前利用していたSI OBバージョン12です。この時は使えていました。

>OBサポートです。
>過去のご質問につきまして、ご回答が漏れていた件
>誠に申し訳ありません。
>
>■バインド変数の動作す
>バインド変数の動作につきましては、
>現状 ":"(セミコロン)のみ対応となります。
>
>また以前のバージョンでは利用できていたとのことですが、
>Oracle Database側で"?"によるバインド変数の構文がエラーとなっていることから、
>Oracle Databaseの動作に沿った動作仕様と考えられます。
>※当時の"?"による動作につきましては、
> 製品の動作、修正履歴等を見直しましたが確認が取れず、
> 現時点では仕様変更されたかに関するご回答ができない状況となります。
> 
> また、Oracle Database側の動作につきましても、
> 現在確認が取れる環境としてOracle Database 11gでの動作を確認したところ、
> "?"によるバインド変数は構文上エラーとなることが確認されております。
> (SI Object Browserではなく、標準のSQLPlusによって確認を行いました。)
>
>大変お手数ですが、何卒よろしくお願い申し上げます。
元の文章を引用して返信

Re: バインド変数が"?"で取得できなくなった。 2022/05/23 17:49:44
OBサポート
OBサポートです。

■ver12におけるSQL実行の動作について
ご連絡いただきました、SI Object Browser for Oracle ver.12(ver.12.0.1)において、
おっしゃる通り"?"をバインド変数として認識し実行が可能である動作を確認いたしました。
ver.12の最新バージョンである12.1.3では、バインド変数として認識されているような挙動をしておりますが、実行時にエラーとなることを確認いたしました。

本件、弊社の確認が不足しており、誤った形でのご回答となってしまい
誠に申し訳ありません。


■バインド変数の対応について
本件は、ver.12のマイナーバージョンアップ時に行われた
データコンポーネント差し替え時の考慮漏れによる不具合と考えられます。

開発に伝えた上で、今後の修正を検討させていただきます。
大変ご不便、ご迷惑をおかけしてしまい、誠に申し訳ありません。

何卒よろしくお願い申し上げます。
元の文章を引用して返信

Re: バインド変数が"?"で取得できなくなった。 2022/05/23 20:16:05
ロロ
ご連絡ありがとうございます。
修正の検討の程よろしくお願い致します。
因みに私が今使用しているSI OBはバージョン21くらいです。ちょっと出先で正式なバージョン確認が出来ません。
ライセンス新規購入して使っております。

宜しくお願い致します。

>OBサポートです。
>
> ■ver12におけるSQL実行の動作について
>ご連絡いただきました、SI Object Browser for Oracle ver.12(ver.12.0.1)において、
>おっしゃる通り"?"をバインド変数として認識し実行が可能である動作を確認いたしました。
>ver.12の最新バージョンである12.1.3では、バインド変数として認識されているような挙動をしておりますが、実行時にエラーとなることを確認いたしました。
>
>本件、弊社の確認が不足しており、誤った形でのご回答となってしまい
>誠に申し訳ありません。
>
>
>■バインド変数の対応について
>本件は、ver.12のマイナーバージョンアップ時に行われた
>データコンポーネント差し替え時の考慮漏れによる不具合と考えられます。
>
>開発に伝えた上で、今後の修正を検討させていただきます。
>大変ご不便、ご迷惑をおかけしてしまい、誠に申し訳ありません。
>
>何卒よろしくお願い申し上げます。
>
元の文章を引用して返信