スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド
ここでは,現行SQLコネクションとして既定SQLコネクションを使用して,リモートデータベースアクセスをする方法を説明します。
現行SQLコネクションとして既定SQLコネクションを使用する場合は,既定RDノードと接続できるすべての分散RDノードにあるデータベースにアクセスできます。これを実行するには,アクセスする表や手続きがどの分散RDノードにあるのかを次に示す方法で既定RDノードのHiRDBに知らせる必要があります。
1及び3の方法は既定RDノードにある表,又は手続きにアクセスする場合にも使えます。その場合は,既定RDノードのRDノード名称で修飾します。ただし,名称がRDノード名称で修飾されていない表,又は手続きは現行RDノードにあるものとして処理します。
既定SQLコネクションを使うと分散RDノードのデータベースにもアクセスできますが,次の制限があります。
表の名称をRDノード名称で修飾する場合の形式を次に示します。
RDノード名称.認可識別子.表識別子
SELECT * FROM RDNODE10.MANAGER.JUTYU
分散RDノードにある表を表別名で指定するときの形式を次に示します。なお,分散サーバ,又は分散クライアントのどちらかがSolarisの場合,表別名は使用できません。
〔認可識別子.〕表別名
CREATE ALIAS MANAGER.JUTYU FOR RDNADE10.MANAGER.JUTYU
SELECT * FROM MANAGER.JUTYU
手続きの名称をRDノード名称で修飾するときの形式を次に示します。
RDノード名称.認可識別子.ルーチン識別子
CALL RDNODE10.MANABER.PROC10(引数指定)
既定SQLコネクションを使用する場合も,リモートデータベースアクセスをするためには分散RDノードへのSQLコネクションが必要です。SQLコネクションを作成しないで,UAPがリモートデータベースアクセスをするSQLを発行すると,既定RDノードのHiRDBが分散RDノードへのSQLコネクションを自動的に作成します。
しかし,HiRDBが自動的に作成するSQLコネクションは既定SQLコネクションと同じ認可識別子を含むものになるため,分散RDノードでその認可識別子に権限が与えられていないとリモートデータベースアクセスができません。このような場合は,分散RDノードで権限が与えられている認可識別子を含むSQLコネクションをあらかじめ作成しておいて,それを利用できます。
CONNECT TO RDNODE10 USER :USER2 USING :PSWD2 SET CONNECTION DEFAULT SELECT ZSURYO INTO :suryou FROM RDNODE10.MANAGER.ZAIKO WHERE SCODE='302S'
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.