3

私はSQLAnywhere 5.5で作成されたデータベースファイルを持っていて、SQLAnywhere12に接続する必要があります。試してみましたが、受け入れられません。

「このデータベースは古いバージョンの SQL で作成されました」

4

1 に答える 1

3

SQL Anywhere 10.0 以降、データベース サーバーは古いソフトウェアで作成されたデータベース ファイルを読み取らなくなりました。それらは再構築する必要があります。最も簡単な方法は、dbunload ツールを使用してデータベースを新しいデータベースにアンロードすることです。これは 1 ステップで実行できます。

dbunload -c uid=<user>;pwd=<password>;dbf=<DBFileName> -an <newDBFileName>

これにより、バージョン 12 サーバーを使用して実行できる新しいデータベース ファイルが作成されます。これを 1 つの手順で実行できない場合 (新しいサーバーで古いデータベースのアンロードに問題が発生する場合があります)、複数の手順で実行する必要がある場合があります。

  1. 古いソフトウェアにdbunload同梱されているユーティリティを使用して、などを使用してデータベースをアンロードします。これにより、「unload」というディレクトリが作成され、その中に一連の .dat ファイルが保存されます。また、「reload.sql」スクリプトも作成されます。dbunload -c uid=<user>;pwd=<password>;dbf=<DBFileName> unload
  2. 古いサーバーをシャットダウンします。
  3. 新しいdbinitソフトウェアに同梱されているユーティリティを使用して、適切な設定 (暗号化、照合、ページ サイズなど) で新しいデータベースを作成します。
  4. 新しいデータベースを起動して実行しますdbisql -c uid=<user>;pwd=<password> reload.sql

完全な開示: 私は SQL Anywhere エンジニアリングの Sybase で働いています。

于 2010-12-08T23:02:15.287 に答える