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

SQL Anywhere 12.0.1 » SQL Anywhere 12 - 更改和升级 » 12.0.1 版中的新功能

 

SQL Anywhere 行为更改

以下列出了 12.0.1 版中引入的 SQL Anywhere 的行为更改。有关平台支持和版本支持的信息,请参见[external link] http://www.sybase.com/detail?id=1061806

  • LOAD 和 UNLOAD TABLE 语句使用的转义字符   在以前的版本中,这些语句的转义字符不能超过 1 个字节。现在,建议为转义字符指定的字符串不超过 255 个字节,不过最好不超过一个字符。

  • 最小和初始高速缓存大小可根据最大高速缓存大小而增加   如果尝试将初始或最小高速缓存大小设置为小于最大高速缓存大小八分之一的值,初始和最小高速缓存大小会相对于最大高速缓存大小自动增加。因此,最小和初始高速缓存大小通常会比先前版本大。

  • reserved_keywords 选项范围的更改   以前,可以为各个用户设置 reserved_keywords 选项或指定此设置具有临时范围。但是,当执行某些 DDL 语句时,如果临时设置或用户级设置与对应的 PUBLIC 设置不同,则可能会在恢复或重建数据库时遇到问题。

    reserved_keywords 选项的以下行为更改适用于新的 12.0.1 版数据库:

    • 允许临时设置和非 PUBLIC 设置。

    reserved_keywords 选项的以下行为更改适用于现有 12 版数据库:

    • 执行过程中会忽略现有非 PUBLIC 设置。

    • 允许删除现有非 PUBLIC 设置。

    • Dbunload 会忽略现有非 PUBLIC 设置。

  • 进程并发水平选项   先前,严格应用于网络数据库服务器 (dbsrv12) 的进程并发水平数据库服务器选项会被个人数据库服务器 (dbeng12) 忽略,并且不产生错误。现在,如果对个人数据库服务器使用以下数据库服务器选项,则会产生警告:

    • -gna dbsrv12 服务器选项
    • -gnh dbsrv12 服务器选项
    • -gnl dbsrv12 服务器选项
    • -gns dbsrv12 服务器选项

  • -zt 数据库服务器选项的更改   设置 -zt 数据库服务器选项不会再使 ReqCountBlockIO 和 ReqTimeBlockIO 属性可用。现在,不论是否启用了 RequestTiming 连接属性,上述两个属性始终可用。

  • SQLTables 函数中 ODBC 连接参数的更改   运行 ODBC 函数 SQLTables 时,缺省情况下,现在 TABLE_TYPE 列会为实例化视图返回值 VIEW。先前,此函数会返回值 MATERIALIZED VIEW。可使用 MATVIEW 连接参数更改该缺省值。请参见MatView (MATVIEW) 连接参数

  • CONVERT 函数   已增强格式化时间字符串的分析,以便字符串的时间部分与格式 hh:nn:ss.ssssssAA 匹配时可以被接受。时间字符串必须指定小时位,而所有其它时间部分均为可选。不管是否省略了时间部分,将始终允许 AM/PM 指示符。在秒的后面允许使用六位来表示微秒。

    此更改影响字符串向 TIME 和 TIMESTAMP 的转换。请参见CONVERT 函数 [Data type conversion]

    先前,使用含有指定 format-style 的 CONVERT 函数将字符串转换为时间时,SQL Anywhere 10 及更高版本可以拒绝早期版本所允许的转换。例如,以下语句在 9 版中允许使用,但在 10 版及更高版本中被拒绝使用:

    SELECT CONVERT( TIME, '11:45am', 14 ) tm_conv 

    将字符串转换为 TIME 的行为在 SQL Anywhere 9 版中与在 10 版及更高版本中有所不同,版本 10 及更高版本中将字符串转换为 TIMESTAMP 所使用的规则是相同的。例如,字符串 11:45am 与格式样式 14 (hh:nn:ss.sss) 不完全匹配,因为它包含此样式中不存在的指示符 am

    以下语句允许在 9 版中使用,但在 10 版及更高版本中被拒绝使用,因为此字符串与格式样式 101 (mm/dd/yyyy) 不匹配:

    SELECT CONVERT( TIME, '1991-02-03 11:45', 101 )

  • 使用服务器许可实用程序 (dblic) 更改授权的用户和公司名   现在可以在不指定用户帐户和许可类型的情况下对授权用户和公司进行更改。请参见服务器授权实用程序 (dblic)