sql where 5.5数据库连接到sql的任何地方12

时间:2010-12-08 17:34:07

标签: sql sqlanywhere

我有一个在5.5以后的sql中创建的数据库文件,我需要它在任何地方连接到sql 12.我试了但是它不接受它,说:

  

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

1 个答案:

答案 0 :(得分:3)

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

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

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

  1. 使用软件附带的dbunload实用程序,使用dbunload -c uid=<user>;pwd=<password>;dbf=<DBFileName> unload之类的内容卸载数据库。这将创建一个名为“unload”的目录,并在其中存储一堆.dat文件。它还将创建一个“reload.sql”脚本。
  2. 关闭旧服务器。
  3. 使用 new 软件附带的dbinit实用程序,使用适当的设置(加密,整理,页面大小等)创建新数据库。
  4. 启动新数据库并运行dbisql -c uid=<user>;pwd=<password> reload.sql
  5. 完全披露:我在SQL Anywhere工程中为Sybase工作。