Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ データベース管理 » SQL Anywhere データベース接続 » SQL Anywhere for Windows Mobile » Windows Mobile データベースサーバの設定 » Windows Mobile でのデータベースの再構築

 

Windows Mobile でのデータベースの再構築

アンロードユーティリティ (dbunload) とスクリプト実行ユーティリティ (dbrunsql) を使用して、Windows Mobile でデータベースを再構築します。この再構築オプションはスマートフォンでは使用できません。このオプションは、デバイスで使用可能なリソースより多くのリソースを必要とする場合があるため、おすすめしません。別のプラットフォームでデータベースを再構築してから、それを Windows Mobile デバイスにコピーすることをおすすめします。

前提条件

データベースが実行中でないことを確認します。デバイス上で実行されているデータベースサーバがないことを確認します。

SELECT ANY TABLE および SERVER OPERATOR システム権限が必要です。

注意

Windows Mobile デバイス上で dbunload を実行するには、SQL Anywhere 16 for Windows Mobile の配備ウィザード][アンロード/再ロードのサポート] オプションを選択する必要があります。SQL Anywhere for Windows Mobile を最初にインストールしたときにこのオプションを選択していない場合は、SQL Anywhere インストールを変更して、このサポートを追加できます。

内容と備考

Windows Mobile 上で dbunload を使用することを決定する前に、それに伴う次のような影響を検討する必要があります。

  • データベースサーバのテンポラリファイルのサイズ (アンロードや再ロードを実行すると、ファイルのサイズが数メガバイトになることがあります)

  • dbunload および関連コンポーネント用に必要となる、追加の領域

  • Windows Mobile デバイスのデータベースを複数コピーすることによって発生する、追加のコスト

 ♦ タスク
  1. Windows Mobile デバイスで dbunload を使用するには、次のことを確認します。

    • 以下のファイルが SQL Anywhere インストールディレクトリ (デフォルトでは、\Program Files\SQLAny16) に配備されている

      • dbsrv16.exe
      • dbsrv16.lic
      • dbunlspt.exe
      • dbunload.exe
      • dbrunsql.exe
    • 古い (バージョン 9 以前) データベースをアンロードし、dbunlspt.exe を含める場合は、以下のファイルが \Windows ディレクトリに配備されている

      • scripts\optdeflt.sql
      • scripts\opttemp.sql
      • scripts\unloadold.sql
    • 以下のファイルが \Windows ディレクトリに配備されている

      • dblgen16.dll
      • dblib16.dll
      • dbscript16.dll
      • dbtool16.dll
      • dbusen.dll
  2. Location 文字列値 (REG_SZ) が、次のレジストリキー内の SQL Anywhere ソフトウェアディレクトリに設定されていることを確認します。HKEY_LOCAL_MACHINE\SOFTWARE\Sybase\SQL Anywhere\16.0\

  3. Windows Mobile 以外のプラットフォームで、新しい空の SQL Anywhere 16 データベースを作成します。

    CHAR 照合順は、既存のデータベースと一致する必要があります。NCHAR UCA ソートが必要ない場合、NCHAR 照合順は UTF8BIN にします。この場合、ICU ライブラリ (dbicu16.dlldbicudt16.dat) はデータベースサーバに必要ありません。

  4. SQL Anywhere 16 ソフトウェアと空の SQL Anywhere データベースファイルを、Windows Mobile デバイスにコピーします。

  5. 次のコマンドを実行して、データベースをアンロードします。

    dbunload-path\dbunload -c "UID=DBA;PWD=DBA-password;CHARSET=none;DBF=existing-database" unload-directory
  6. dbunload が完了したら、dbunload ウィンドウを閉じます。

  7. 次のコマンドを実行して、reload.sql スクリプトファイルを空の SQL Anywhere データベースファイルに対して実行します。

    dbrunsql-path\dbrunsql -c "UID=DBA;PWD=sql;CHARSET=none;DBF=new-empty-SQLAnywhere16database-file" -g- \reload.sql
  8. dbrunsql が完了したら、dbrunsql ウィンドウを閉じます。

  9. Windows Mobile デバイスから、reload.sql ファイルと unload-directory を削除できます。

結果

データベースが再構築されます。

次の手順

エンドユーザに対する処理を自動化するために、dbunload コマンドと dbrunsql コマンドをサードパーティ製 Windows Mobile アプリケーションで使用できます。これを行うように選択する場合は、-qc と -q のいずれかまたは両方のオプションを指定して dbunload および dbrunsql を使用すること、または dbtool16.dll で DBUnload 関数を呼び出すことを検討してください。

 参照