新的 SQL Anywhere 12.0.1 文档: 相比 2011 年 2 月 15 日 SQL Anywhere 12.0.1 首次发布时提供的文档,此 SQL Anywhere 12.0.1 文档版本更新。它包括最新的功能和行为更改(含 EBF 3554 (Windows))。特别是,包括支持 SQL Anywhere OnDemand 版中新的云功能所需的更改。
SQL Anywhere OnDemand 版是一个数据管理解决方案,独立软件供应商 (ISV) 可利用它将业务应用程序带入云环境,提供软件即服务 (SaaS)。ISV 可以构建、部署和管理大型云应用程序。
我们已对 SQL Anywhere 进行了一些增强和行为更改,以支持 SQL Anywhere OnDemand 版。以下是已实现的主要更改列表。在 SQL Anywhere OnDemand 版文档中对其它更改进行了更深入的描述,网址为 http://dcx.sybase.com/cloud100。
云中的数据库的新登录模式值 为 login_mode 数据库选项添加了一个新值 CloudAdmin。此登录模式用于云的内部使用。请参见login_mode 选项。
Sybase Central 和 Interactive SQL 中的 [连接] 窗口增强 现在,Sybase Central 和 Interactive SQL 中的 [连接] 窗口提供了用于连接到云中租户数据库的 [连接到云中正在运行的数据库] 选项。
[SQL Anywhere 的 ODBC 配置] 窗口增强 现在,ODBC 数据源管理器中的 [SQL Anywhere 的 ODBC 配置] 窗口提供了用于连接到云中租户数据库的 [连接到云中正在运行的数据库] 选项。
NodeType (NODE) 连接参数增强 现在,NodeType 连接值支持 MIRROR 和 READONLY 值:
MIRROR 将应用程序重定向至租户的镜像数据库。
READONLY 将应用程序重定向至任意只读数据库副本:复制节点或镜像副本都可。如果没有只读复制节点,则 READONLY 等同于 MIRROR 设置。如果具有只读复制节点,则 READONLY 等同于 COPY 设置。
新 NodeType(NODE) 连接参数行为更改 连接到云中的数据库时,NodeType 连接参数的缺省值为 PRIMARY,会自动将您重定向至租户的主数据库。NodeType 设置为 DIRECT 时,将不使用重定向,且仅在指定主机上运行数据库时可以连接成功。
连接到云数据库时需要的 DatabaseName 连接参数 连接到云中的数据库时,必须指定 DatabaseName 连接参数。云中的数据库没有缺省数据库名称。请参见DatabaseName (DBN) 连接参数。
云中的 ServerName 连接参数限制 连接到云中的数据库,且 NodeType 连接参数设置为 DIRECT 时,只能使用 ServerName 连接参数。多数情况下,在连接到云服务器时,不应指定 ServerName、NodeType 或 DIRECT。请参见ServerName (Server) 连接参数。
对 SQL 语句的增强 已对下列语句进行增强,以促进其对云中租户数据库的使用:
在云中运行数据库时,有些 SQL Anywhere 语句不适用或使用受限。此信息记录在各函数和系统过程的说明中。
在云中的数据库中运行时,对系统过程和函数的结果的限制 当数据库在云中运行时,有些 SQL Anywhere 函数和系统过程仅返回有关当前租户数据库的信息。而不显示同一云服务器上运行的其它租户数据库的相关信息。此信息记录在各函数和系统过程的说明中。
有些数据库选项、服务器选项和连接参数在云中不可用 有些数据库选项、服务器选项和连接参数在云中不可用。在各选项或参数的说明中可找到更多信息。
指定 IPv6 地址 对于包括端口号的 IPv6 地址,必须使用方括号或圆括号将地址括起来。 请参见SQL Anywhere 中的 IPv6 支持。
装载表的增强 在以前的版本中,不能对只读数据库中的临时表中执行装载表操作。现在已不存在此限制。
之前,在主服务器、镜像服务器或根节点服务器上运行的数据库的 LOAD TABLE 缺省值为 WITH FILE NAME LOGGING。现在,这些数据库类型的 LOAD TABLE 记录缺省值为 WITH ROW LOGGING。
新增用于比较数据库模式和使之相同的支持 可以使用 Sybase Central 比较两个数据库。比较操作将生成可以用来查看以确定数据库之间差异的 SQL 语句。您可以执行 SQL 语句,使两个数据库相同。请参见比较数据库模式和转换数据库模式以匹配另一个。
DBA 用户的帐户锁定 为确保 DBA 用户不会在输入错误口令时被永久锁定在数据库外,在超过用户登录策略中定义的指定失败连接尝试次数时,将 DBA 用户的帐户锁定一分钟。
OEM.ini 文件的新目录选项 OEM.ini 文件中 [首选项] 部分的 [目录] 选项指定了管理工具使用的目录,用于保存用户特定的配置文件。这些文件包含管理工具设置及历史的相关信息。必须指定一个不以分隔符结尾的全限定目录名称。请参见管理工具配置。
Timeout、SendBufferSize 和 ReceiveBufferSize TCP 协议选项的新限制 现在,使用 TCP/IP 时,下列协议选项都有上限。
ReceiveBufferSize (RCVBUFSZ) 协议选项 可以为 TCP/IP 协议堆栈使用的缓冲区指定的最大大小为 1 MB。
SendBufferSize (SNDBUFSZ) 协议选项 可以为 TCP/IP 协议堆栈使用的缓冲区指定的最大大小为 1 MB。
Timeout (TO) 协议选项 建立通信 (TCP/IP) 时,可以指定等候响应的的最长时间(以秒为单位)为 3600 秒。
如果指定的值超出这些限制,则会返回连接错误。请参见连接错误: %1。
指定 DBN=* 表示所有数据库都可以将服务器用作仲裁服务器。
可以省略验证字符串,这样就不用对镜像服务器提供的验证字符串进行校验了。
仅指定一个验证字符串表示所有数据库都必须使用该验证字符串。
请参见-xa 数据库服务器选项。
在具备高可用性的只读向外扩展系统中,可将复制节点用作仲裁服务器。要使用此功能,必须升级数据库镜像系统中所有的服务器。请参见使用复制节点作为仲裁服务器。
LogFormat (LF) 协议选项表示 URL 的 HTTP 方法为未知 如果 Web 请求失败的原因是不支持 HTTP 请求方法、URI 格式错误或缺少必需的数据库名称,HTTP 方法 (@M) 和 HTTP 版本 (@V) 将返回字符串 ???,而 URI (@U) 将返回前面带有 >>> 的给定请求。请参见LogFormat (LF) 协议选项。
增加了以下数据库属性:
增加了以下数据库服务器属性:
改进了使用存储过程或用户定义函数的语句性能 已对数据库服务器处理用户定义的过程和函数的方式进行了改进,以提高性能。这种性能改进取决于过程和用户定义函数的调用数量。
ALTER SERVER 语句行为更改 在以前的版本中,ALTER SERVER 语句的所有子句都会引发自动提交。CONNECTION CLOSE 子句不会再引发自动提交。请参见ALTER SERVER 语句。
OPENSTRING 子句增强 现在,FROM 子句的 OPENSTRING 子句支持 [ NOT | AUTO ] COMPRESSED 选项和 ENCRYPTED 选项。指定 ENCRYPTED 子句后,ENCRYPTED 选项可用于读取由 UNLOAD 语句创建的文件。 请参见FROM 子句。
证书创建实用程序 (createcert) 的增强 为使创建证书更简便,已向证书创建实用程序中添加了若干选项。请参见证书创建实用程序 (createcert)
查询计划字符串的增强 现在,计划中包括表达式的已知值,详细计划中还包括语句高速缓存的计划的相关信息。
现在,使用应用程序分析时,详细计划中包括有关如何优化查询的附加信息,以及有关部分索引扫描中使用的谓语的信息。
查询优化 增加了一项优化措施来推断可优化搜索 IN 谓语,该 IN 谓语可用于对不可转换为 AND 谓语的 OR 谓语进行部分索引扫描。 请参见在查询处理过程中执行的优化。
已增加对 ADO.NET Entity Framework 4.2 的支持 SQL Anywhere 现提供对 ADO.NET Entity Framework 4.2 Code First 功能的支持。请参见Entity Framework 支持。
SetupVSPackage .NET 程序集安装程序的新 salocation 选项 现可通过 SetupVSPackage 应用程序使用 salocation 选项指定 SQL Anywhere 安装的位置。请参见.NET 客户端部署。
JDBC 4.0 驱动程序中增加了对 OSGi 包的支持 SQL Anywhere JDBC 4.0 驱动程序 (sajdbc4.jar) 现包含正确的清单信息,以便该驱动程序可以作为 OSGi(开放服务网关协议)包进行装载。请参见JDBC 支持。
ALTER TABLE...ADD CONSTRAINT 要求在添加唯一约束时指定不可为空的列 对 ALTER TABLE 语句的改进要求在添加新的唯一约束时,所有的约束列不得为空。
Android 智能手机现支持 MobiLink 文件传输 DatabaseManager.createFileTransfer 方法现可用于在 Android 客户端和 MobiLink 服务器之间传输文件。
请参见:
Android 智能手机现支持 ZLIB 压缩 在通过 HTTPS 协议与 MobiLink 服务器进行同步时,UltraLiteJ API 现支持 Android 智能手机的 ZLIB 数据压缩。
Android 智能手机可通过下列方法实现 ZLIB 压缩:
StreamHTTPParms.setZlibCompression
StreamHTTPParms.setZlibDownloadWindowSize
StreamHTTPParms.setZlibUploadWindowSize
StreamHTTPParms.zlibCompressionEnabled
请参见:
Android 智能手机现支持端对端加密 (E2EE) 在通过 HTTPS 协议与 MobiLink 服务器进行同步时,UltraLiteJ API 现支持 Android 智能手机的端对端加密。
Android 智能手机可通过下列方法支持 E2EE:
StreamHTTPParms.getE2eePublicKey
StreamHTTPParms.setE2eePublicKey
请参见:
Android 智能手机现支持通过 HTTPS 协议同步的缺省受信任证书存储库中的受信任证书 根据下列优先规则使用证书:
如果调用了 StreamHTTPSParms.setTrustedCertificates 方法,则使用指定文件中的证书。
如果未调用 StreamHTTPSParms.setTrustedCertificates 方法,而证书是通过 ulinit 或 ulload 实用程序在数据库中设置的,则会使用这些证书。
如果未使用 StreamHTTPSParms.setTrustedCertificates 方法或通过 ulinit、ulload 实用程序指定证书,而且使用的是 Android 系统,则会从操作系统的受信任证书存储库中读取证书。当 Web 浏览器通过 HTTPS 与安全的 Web 服务器连接时,将使用这个证书存储库。
请参见:
Android 智能手机现支持游标移动方法 UltraLiteJ API 现支持在其它 UltraLite API 中可用的所有 SQL 结果集导航方法。
下列导航方法适用于 Android 智能手机:
ResultSet.afterLast
ResultSet.beforeFirst
ResultSet.first
ResultSet.getRowCount
ResultSet.last
ResultSet.relative
请参见:
Android 智能手机现同样支持一些 BlackBerry 特定的 ResultSet 方法 需要 BlackBerry 智能手机支持的字符串参数的 get 方法,现适用于 Android 智能手机。
Android 现支持以下方法:
ResultSet.getBlobInputStream(String name)
ResultSet.getBoolean(String name)
ResultSet.getClobReader(String name)
ResultSet.getBytes(String name)
ResultSet.getDate(String name)
ResultSet.getDecimalNumber(String name)
ResultSet.getDouble(String name)
ResultSet.getFloat(String name)
ResultSet.getLong(String name)
ResultSet.getSize(String name)
ResultSet.getString(String name)
ResultSet.getUUIDValue(String name)
ResultSet.isNull(String name)
Android 智能手机现支持 ResultSetMetaData 方法 Android 智能手机现支持下列方法,且返回的值与 Blackberry 智能手机返回的值非常相近。
ResultSetMetaData.getAliasName(int column_no)
ResultSetMetaData.getDomainName(int column_no)
ResultSetMetaData.getCorrelationName(int column_no)
ResultSetMetaData.getQualifiedName(int column_no)
ResultSetMetaData.getTableColumnName(int column_no)
ResultSetMetaData.getTableName(int column_no)
ResultSetMetaData.getWrittenName(int column_no)
Android 智能手机现支持 DatabaseInfo.getPageSize 方法 DatabaseInfo.getPageSize 方法现可查询 UltraLite 数据库以检索页面大小。
Android 智能手机现支持 DatabaseInfo.getNumberRowsToUpload 方法 DatabaseInfo.getNumberRowsToUpload 方法现在会返回等待上载的行数。
返回到 Android 智能手机上的 DatabaseInfo.getRelease 值现包括内部版本号 DatabaseInfo.getRelease 方法返回完整的软件发布版本号。
Android 智能手机现在支持额外的 MobiLink 客户端网络协议选项设置 增加了 StreamHTTPParms.getExtraParameters 和 StreamHTTPParms.setExtraParameters 方法,用于指定和检索 MobiLink 客户端网络协议选项的以分号分隔的列表,支持之前 Android 智能手机不支持的额外选项。
请参见:
已为 DatabaseManager 类 UltraLiteJ API 改进了错误报告 如果调用 release 方法后再调用 connect 或 createDatabase 方法,则会随 SQLE_NOT_CONNECTED 错误代码抛出一个 ULjException 错误。
可重新启动的 HTTP 适用于 UltraLiteJ API 启用可重新启动的 HTTP 后,UltraLiteJ 可容许网络中断,这样同步就不会经常失败(像在不可靠的网络上一样)。
请参见:
已为 UltraLiteJ API 改进了空 ResultSet 处理 ResultSet.getString 方法检索到的空值现会返回为空值,而不是空字符串。
BlackBerry 智能手机上的行限制始终启用延缓加载索引 启用行限制时访问的 BlackBerry 智能手机上的数据库现将始终启用延缓加载索引。
请参见:
已改进通过 BlackBerry Enterprise Server 进行的 BlackBerry 智能手机安全同步 为避免同步失败,通过 HTTPS 协议与 BlackBerry Enterprise Server (BES) 进行同步的某些 BlackBerry 智能手机可能需要在 URL 后缀中添加术语 ";EndToEndRequired"。
数据库页面大小可以通过 UltraLite Java 版数据库装载实用程序的 -z 选项进行调整 新的 -z 选项可用于指定 UltraLite Java 版数据库的页面大小(以字节为单位)。
UltraLite for M-Business Anywhere 支持 Connection.getNewUUID 和 UUID.toString 方法 已恢复 Connection.getNewUUID 和 UUID.toString 方法。
可通过 UltraLite C++ API 获取表列的限定名称 与 ULResultSetSchema.GetColumnName 方法结合使用时,ul_column_name_type 枚举的 ul_name_type_qualified 标识符可获取 ResultSet 对象中列的相关限定名称。
请参见:
UltraLite C++ API 现支持 Pocket PC 2003 平台 现在,Pocket PC 2003 平台上支持 UltraLite。针对 TLS 和 HTTPS 同步加密的支持不可用。
Xcode 4.2 支持现已添加到 CustDB 示例和 Names 示例 Xcode 3.2 和 4.2 现支持 CustDB 示例和 Names 示例。
collect_network_data 协议已添加到 mlsrv12 -x 选项 同时使用 collect_network_data 协议选项和 mlsrv12 -x 选项可启用同步脚本,从每次同步中读取网络信息。 请参见-x mlsrv16 选项。
对未同步列的更新 在同步模型中使用触发器维护时间戳时,对未同步列(同步模型中定义的时间戳列或逻辑删除列除外)的更新将不再更新时间戳列。
表映射方向菜单 将映射方向更改为未同步后,表映射方向菜单将保持启用状态。请参见表映射和列映射。
mlsis 和 dbmlsync 的 -qi 选项 -qi 选项现包括在 mlsis 和 dbmlsync 的使用信息中。请参见-qi dblsn 选项和-qi dbmlsync 选项。
mlreplay 的新错误消息 已为 MobiLink 重放实用程序添加下列错误消息:
MLGENREPLAYAPI_FAILED_TO_DETERMINE_CLIENT_TYPE (-5062) 无法确定记录的协议是否来自 dbmlsync 客户端。
MLREPLAY_INCOMPATIBLE_RECORDED_PROTOCOL_VERSION (-5075) %1 是与此版 mlreplay 不兼容的记录的协议版本。
MLGENREPLAYAPI_INCOMPATIBLE_RECORDED_PROTOCOL_VERSION (-5076) %1 是与此版 Replay API 生成器不兼容的记录协议版本。
增强的 dbmlsync 记录 Dbmlsync 现将有关正在其上运行的操作系统和计算机体系结构的信息打印到日志中。同时还打印为其编译可执行文件的平台的信息。请参见SQL Anywhere 客户端日志。
支持 SHA2 证书 MobiLink 服务器和 MobiLink 客户端现支持使用 SHA2 签署的证书。请参见trusted_certificates和-x mlsrv16 选项。
Windows IIS6、IIS7 和 Apache 上的中继服务器快速部署 中继服务器提供了一组实用程序,可以引导您完成对 Windows IIS 6.0、Windows IIS 7.0 或 7.5 和 Apache 的部署过程有关详细信息,请参见:
中继服务器支持标识转发 SAP 网关提供了若干验证客户端的方法,包括通过受信任的中间设备对 X.509 证书进行转发。中继服务器可以使用 HTTP 标头将标识信息从远程客户端转发到 SAP NetWeaver 网关或 Web Dispatcher。请参见后端群部分属性。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |