本节将介绍您在创建或重建数据库时必须做出的选择。
下面是创建与 Transact-SQL 兼容的数据库时所需要执行的步骤。本节的其余部分将介绍您需要设置的选项。
启动 Sybase Central。
选择 [工具] » [SQL Anywhere 11] » [创建数据库]。
请按照向导中的说明进行操作。
当您看到一个名为 [模拟 Adaptive Server Enterprise] 的按钮时,单击该按钮,然后单击 [下一步]。
请按照向导中的其余说明进行操作。
运行以下 dbinit 命令:
dbinit -b -c -k db-name.db |
有关这些选项的详细信息,请参见初始化实用程序 (dbinit)。
连接到任一 SQL Anywhere 数据库。
例如,在 Interactive SQL 中输入以下语句:
CREATE DATABASE 'dbname.db' ASE COMPATIBLE CASE RESPECT BLANK PADDING ON; |
在此语句中,ASE COMPATIBLE 表示与 Adaptive Server Enterprise 兼容。它会防止创建 SYS.SYSCOLUMNS 和 SYS.SYSINDEXES 视图。
缺省情况下,Adaptive Server Enterprise 数据库中的字符串比较是区分大小写的,而 SQL Anywhere 中的字符串比较却不区分大小写。
在使用 SQL Anywhere 建立与 Adaptive Server Enterprise 兼容的数据库时,请选中区分大小写选项。
如果您在使用 Sybase Central,则此选项位于 [创建数据库向导] 中。
如果要使用 dbinit 实用程序,请指定 -c 选项。
在使用 SQL Anywhere 建立与 Adaptive Server Enterprise 兼容的数据库时,请选择在比较中忽略尾随空白的选项。
如果您在使用 Sybase Central,则此选项位于 [创建数据库向导] 中。
如果要使用 dbinit 实用程序,请指定 -b 选项。
当您选择此选项后,Adaptive Server Enterprise 和 SQL Anywhere 会认为以下两个字符串是相同的:
'ignore the trailing blanks ' 'ignore the trailing blanks' |
如果您不选择此选项,SQL Anywhere 就会认为上面的两个字符串不相同。
选择此选项的副作用是当客户端应用程序读取字符串时,字符串将被填上空白。
较早的 SQL Anywhere 版本使用的两种系统视图的名称与为实现兼容性而提供的 Adaptive Server Enterprise 系统视图的名称相冲突。这两种视图包括 SYSCOLUMNS 和 SYSINDEXES。如果您在使用 Open Client 或 JDBC 接口,请在创建数据库时排除这两种视图。可使用 dbinit -k 选项实现这一操作。
如果您在创建数据库时没有使用这一选项,执行语句 SELECT * FROM SYSCOLUMNS;
将导致错误 [表名 'SYSCOLUMNS' 不明确
]。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |