Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 的用法 » SQL 方言和兼容性 » SQL 方言 » 为实现 Transact-SQL 兼容性配置数据库

 

创建与 Transact-SQL 兼容的数据库

本节将介绍您在创建或重建数据库时必须做出的选择。

快速入门

下面是创建与 Transact-SQL 兼容的数据库时所需要执行的步骤。本节的其余部分将介绍您需要设置的选项。

♦  创建与 Transact-SQL 兼容的数据库 (Sybase Central)
  1. 启动 Sybase Central。

  2. 选择 [工具] » [SQL Anywhere 11] » [创建数据库]。

  3. 请按照向导中的说明进行操作。

  4. 当您看到一个名为 [模拟 Adaptive Server Enterprise] 的按钮时,单击该按钮,然后单击 [下一步]。

  5. 请按照向导中的其余说明进行操作。

♦  创建与 Transact-SQL 兼容的数据库(命令行)
♦  创建与 Transact-SQL 兼容的数据库 (SQL)
  1. 连接到任一 SQL Anywhere 数据库。

  2. 例如,在 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' 不明确]。