技術情報に関して更新します。(月1更新予定)

2018年12月3日月曜日

SQLCLI について(SQLCLIの使用-接続ハンドル)

0 件のコメント :

2.  接続ハンドル
IBM iのデータベースと接続するためのハンドルです。
他のRDBMS(例えばMS-SQL Server)とも接続できるかなと思ってやってみましたが、他システムとの接続にはDRDAが使用されているようで、接続できませんでした。

システムのDRDA登録簿に登録されているシステムとであれば、遠隔RDBとの接続は可能です。*LOCAL(自システム)は、ユーザー/パスワード不要で接続できます(指定しても構いませんが、不一致の時はエラーが戻されます)。
DRDAをサポートする遠隔システムへの接続には、そのシステムの設定値によってユーザー/パスワードが必要な場合もあります。

接続ハンドルには、「トランザクション制御モード」があり、デフォルトでは「コミット制御あり」になっています。
コミット制御ありの接続ハンドルを利用して「insert」「update」「deleteSQL文を実行するには、その対象となる全ての物理ファイルに対してジャーナル処理が必須になります。(ジャーナル処理されていないと、SQLCLI APIはエラーを戻します。)
対話型SQLを使用して作成された「コレクション」(=ライブラリ)とは異なり、自動でジャーナルの作成/開始は行われませんので、あらかじめジャーナルの作成/開始を行う必要があります。接続ハンドルの属性を変更するとこで、「コミット制御無し」に設定することもでき、その場合はジャーナルの作成/開始はオプションになります。

一般的に業務アプリケーションでは、コミット制御は必要だと思われますので、業務アプリケーションで使用する全ての物理ファイルに対して、ジャーナル処理を開始さえしておけば、「トランザクション制御モード」は変更する必要は無いと思われます。


0 件のコメント :

コメントを投稿