Symfoware ServerのODBC連携でRDA-SV接続の場合に、SELECT文にFOR UPDATE句が自動的に付加されてしまう現象について

Symfoware Server の技術情報はこちら

VisualBasicとADOを用いたアプリケーションでRDA-SV接続する場合、SELECT文を実行すると、FOR UPDATE句を付けていないのに、アクセスプランを確認するとFOR UPDATE句が付加されています。原因と対処方法を教えてください。
[原因]
RDA-SV接続の場合、ODBC連携では、カーソルオプションのSQL_ATTR_CONCURRENCYに、SQL_CONCUR_READ_ONLYとSQL_CONCUR_LOCKのいずれでもない値が設定された場合は、SQL_CONCUR_LOCKに置換します。その結果、SELECT文にFOR UPDATE句が付加されます。

[対処方法]
これを回避するには、SQL_ATTR_CONCURRENCYにSQL_CONCUR_READ_ONLYを設定します。
VisualBasicとADOを用いているアプリケーションでこの回避手段をとるには、該当SQLを指定しているRecordsetのLockTypeプロパティにadLockReadOnlyを設定します。
製品・サービス区分 Symfoware
製品・サービス情報
対象製品 Symfoware Server (Native Interface)
プラットフォーム Windows, Solaris, Linux
アンサー種別 技術サポート
このページの先頭へ