TECHNOLOGY

Tips !(使用上のテクニック)

対象バージョン : Adaptive Server Anywhere 6.0、7.0
対象OS : Windows95/98/ME ,WindowsNT/2000

ST0106012

SQLRemote 設定(WindowsCE/FILE共有)での注意点

Tips !

SQLRemote 設定手順

CE機にASAをインストール

この時点で、CEのレジストリに以下のエントリが自動的に設定されます。

HKEY_CURRENT_USER
Software
Sybase
SQL Remote
FILE
DIRECTORY = My DocumentsSynchronized Files

WinNT4.0/CE共有ファイルの設定

SQL*REMOTEのファイル共有用のアドレスとして、Host機/CE機側それぞれを”master”/”remote”というフォルダ名で設定してみました。

ActiveSyncの同期ファイル機能を利用し、ファイル共有を実現する為、以下のフォルダを作成してください

(NT4.0の場合)
C:WINNTProfilesykitanakPersonalPocket_PC My Documentsmaster
C:WINNTProfilesykitanakPersonalPocket_PC My Documentsremote

Windows2000、Windows98やMEではパス名が違います。

ActiveSyncの設定で、同期ファイルを選択していれば、CE機上に以下のフォルダが自動的に作成されます。

(CE)
My Documentsmaster
My Documentsremote

SQLRemoteの設定

ファイル共有にて、通常通りSQLRemoteを設定してください。その際に、ファイルのアドレスとしては、HOST機側の絶対パスを指定して下さい。(今回、SQLRemote変数の利用による相対パス設定は試していません。)

リモートDBの抽出

CentralよりリモートDBを抽出してください。

リモートDB上でのパスの設定

上記にて抽出されたDBの、ファイル共有パスとしてHOST機(NT4.0)上の絶対パス(C:….)が設定されているため、CE上の絶対パス(My Documents…)に修正してください。

(修正方法)

上記4.にて抽出されたDBにCentralで直接接続し修正、もしくは抽出時にスクリプト(reload.sql)を生成し、そのスクリプトを修正

リモートDBをCE機上にコピー
HOST機、CE機双方からdbremote.exeを起動

全て正常(ミスタイプ等無く)に設定されていた場合、以上で終了となる。
**************************************************
トラブルポイント(注意点)

【CE機上でdbremote.exeを起動した際の動作(メッセージ受信時)】

DB上(セントラル)に設定されているフォルダ上でメッセージを検索
(SYSREMOTETYPEシステムテーブル)
上記が失敗(フォルダが見つからない)した場合は、レジストリ上に設定されているフォルダを検索。
かつそのレジストリ上のフォルダをDB内に格納。
(SYSREMOTEOPTIONシステムテーブル)
次回よりは、SYSREMOTEOPTION上の値が、検索フォルダとなってしまう。
つまり、セントラル上から設定変更(SYS.REMOTETYPEの更新)およびレジストリを変更しても、まったく影響されない。(表面上は設定変更が完了したように見えるが…)

つまり、何らかの理由により、一度SYSREMOTEOPTION上に値が設定された場合は、SET REMOTEオプション文を利用し、値のクリアもしくは正しい値での再設定が必須となります。(クリアした場合、正しいパスであれば、そのまま正常に動作し、SYSREMOTEOPTIONテーブルには格納されないため、こちらをお勧めします。)

【CE機(3.0)上のレジストリのデフォルト値】

CE機上のレジストリのデフォルト値として
HKEY_CURRENT_USER
Software
Sybase
SQL Remote
FILE
DIRECTORY = My DocumentsSynchronized Files が設定されています。

デフォルトの設定値を利用する際、CE上のフォルダとして
My DocumentsSynchronized Filesmaster
My DocumentsSynchronized Filesremote といったように送信/受信用にそれぞれのフォルダを作成する場合、CE機上のファイルエクスプローラもしくは、HOST機上の同期フォルダ
(例:C:WINNTProfilesykitanakPersonalPocket_PC My Documents)
に追加するようにしてください。

HOST機上のエクスプローラから、「モバイルデバイス」を選択し、フォルダを追加しようとすると、「階層が深すぎる」という旨のエラーメッセージが出て不可能です。