Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
本节将介绍您在创建或重建数据库时必须做出的选择。
下面是创建与 Transact-SQL 兼容的数据库时所需要执行的步骤。本节的其余部分将介绍您需要设置的选项。
使用 SQL Anywhere 12 插件连接到数据库。
选择 [工具] » [SQL Anywhere 12] » [创建数据库]。
请按照向导中的说明进行操作。
单击 [模拟 Adaptive Server Enterprise]。单击 [下一步]。
请按照向导中的其余说明进行操作。
运行以下 dbinit 命令:
dbinit -b -c -k db-name.db
有关这些选项的详细信息,请参见初始化实用程序 (dbinit)。
连接到任一 SQL Anywhere 数据库。
例如,在 Interactive SQL 中输入以下语句:
CREATE DATABASE 'db-name.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 兼容的数据库时,请选择在比较中忽略尾随空白的选项。
如果要使用 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' 不明确]。
SELECT * FROM SYSCOLUMNS;
表名 'SYSCOLUMNS' 不明确