3

我有一个在 sql Anywhere 5.5 中创建的数据库文件,我需要它来连接到 sql Anywhere 12。我试过了,但它不接受它,说:

“此数据库是在任何地方的旧版本 sql 上创建的”

4

1 回答 1

3

从 SQL Anywhere 10.0 开始,数据库服务器不再读取使用旧软件创建的数据库文件;他们必须重建。最简单的方法是使用 dbunload 工具将数据库卸载到新数据库中。您可以一步完成:

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

这将创建一个新的数据库文件,然后您可以使用版本 12 服务器运行该文件。如果您不能一步完成(有时新服务器无法卸载旧数据库),您可能需要分多个步骤完成:

  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 回答