以下列出了在 SQL Anywhere 16.0 版中增加的对系统过程和函数行为的更改。
现在,需要特权才能返回其它连接的信息 对于 12 版及更早版本的数据库,无需具备任何权限即可执行以下系统过程和函数,以返回任何连接的信息。
对于 16 版的数据库,任何用户均可执行这些系统过程和函数,以返回当前连接的信息。不过,要执行这些系统过程和函数以返回其它连接的信息,就必须具备 SERVER OPERATOR、MONITOR 或 DROP CONNECTION 系统特权。
现在,需要特权才能返回其它数据库的信息 对于 12 版及更早版本的数据库,无需具备任何权限即可执行以下系统过程和函数,以返回任何数据库的信息。
对于 16 版的数据库,任何用户均可执行这些系统过程和函数,以返回当前数据库的信息。不过,要想执行这些系统过程和函数以返回其它数据库的信息,就必须具备 SERVER OPERATOR 或 MONITOR 系统特权。
TRACEBACK 函数增强 TRACEBACK 函数可返回以对象名和行数注释的调用堆栈,从而简化了查找调用堆栈中报告的实际语句的过程。 请参见TRACEBACK 函数 [Miscellaneous]。
对 SMTP 和 MAPI 返回代码的更改 对 xp_startmail、xp_startsmtp、xp_sendmail、xp_stopmail 和 xp_stopsmtp 系统过程所使用的返回代码进行了以下更改:
返回代码 | 在以前版本中的含义 | 在 16.0 版数据库中的含义 | 其它信息 |
---|---|---|---|
-1 | 未知错误 | 新错误代码 | |
0 | 成功 | 成功 | |
1 | 提供的参数无效 | 新错误代码 | |
2 | xp_startmail 或 xp_startsmtp 失败 | 内存不足 | |
3 | xp_stopmail 或 xp_stopsmtp 失败 | xp_startmail 或 xp_startsmtp 未调用 | |
4 | 主机名不当 | 新错误代码 | |
5 | xp_sendmail 失败 | 连接错误 | |
6 | 安全连接错误 | 新错误代码 | |
7 | MAPI 函数不可用 | 新错误代码 |
xp_get_mail_error_code 和 xp_get_mail_error_text 系统过程可返回关于返回代码的更多信息。必须升级现有数据库以获取新的系统过程和错误代码。 请参见:
如果无法更改应用程序以检查更新的返回代码,可对数据库服务器进行配置,通过 12 版 dbext.dll 文件和 use_old_dbextf.sql 脚本(位于 SQL Anywhere 安装的 scripts 子目录中)使用先前软件版本中的返回代码。 请参见数据库服务器部署。
USER_NAME 和 SUSER_NAME 函数现在返回 VARCHAR user_name 和 suser_name 函数现在会返回 VARCHAR 类型而非 LONG VARCHAR 类型的数据。如存在使用这些函数的实例化视图,则需将其重建。
出错处理 在插入或分析行时,若语句出现错误,为允许执行 LOAD TABLE 操作,可将问题行写入 ROW LOG,将错误消息写入 MESSAGE LOG。出现可指定的错误数量后,语句将失败并回退。添加了以下子句来支持此功能:
请参见LOAD TABLE 语句。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |