随着Sybase被完全整合到SAP下,Sybase原来的支持网站被SAP Support Portal取代。
只有购买了SAP服务的用户才能使用账号登录SAP Support Portal进行介质下载、补丁升级、报Incident等。
目前,原Sybase所有产品(包括:Adaptive Server Enterprise、Sybase IQ、Replication Server、PowerDesigner等)的官方手册仍然可以从http://infocenter.sybase.com/help/index.jsp进行浏览或下载。暂不清楚该网站http://infocenter.sybase.com/help/index.jsp何时会被完全迁移到SAP Support上!
Sybase官方手册英文版有html和pdf两种格式,而中文版手册只有pdf一种格式。为了国内Sybase用户更方便、快捷地搜索Sybase常见产品的官方手册内容,特将中文版Sybase官方手册转为html格式!
Sybase产品官方手册中文版的html格式所有内容的版权归SAP公司所有!本博客站长是Sybase数据库的铁杆粉丝!
如有Sybase数据库技术问题需要咨询,请联系我!
以下官方手册为SAP IQ 16.0 SP03中文版:
ICU(即 Unicode 的国际组件)是一个由 IBM 开发并维护的开放源代码库。ICU 通过 提供 Unicode 支持促进了软件国际化。SAP Sybase IQ 使用 ICU 实现了某些字符集转 换和归类操作。
数据库服务器上何时需要 ICU?(除 Windows Mobile 之外的所有平台) 理想情况下, ICU 应始终可供数据库服务器使用。下表指出了何时以及因何需要 ICU :
需要 ICU 的情况…… |
注意 |
Unicode 归类算法 (UCA) 用作 NCHAR 或 CHAR 字符集的归类。 |
UCA 需要 ICU。 |
数据库字符集不是 UTF-8,而是多字节字 |
用于将口令从数据库字符集转换为 UTF-8(数据 |
符集。 |
库口令在内部以 UTF-8 存储)。 |
客户端字符集与数据库字符集不同,而且 |
与多字节字符集的来回转换需要 ICU。 |
其中之一是多字节字符集(包括 |
|
UTF-8)。这包括 Unicode ODBC、OLE |
|
DB、ADO.NET 和 SAP Sybase IQ JDBC 应 |
|
用程序,不管数据库字符集为何,至少有 |
|
一个客户端没有 ICU。 |
|
数据库字符集不是 UTF-8,且需要在 CHAR 和 NCHAR 值之间进行转换。 |
数据库服务器需要使用 ICU 将 UTF-8 转换为另 一字符集。 |
嵌入式 SQL 客户端使用了 UTF-8 以外的 NCHAR 字符集。 |
数据库服务器需要使用 ICU 将 UTF-8 转换为另 一字符集。缺省的嵌入式 SQL 客户端 NCHAR 字 符集与初始客户端 CHAR 字符集相同。可使用 db_change_nchar_charse 函数对此进行更改。 |
使用了 CSCONVERT 或 SORTKEY 函数。 调用 CSCONVERT 函数是为了在符合上述 第三项要求的字符集之间进行转换。 |
字符集与多字节字符集的来回转换需要 ICU。许 多 sortkey 标签的 Sortkey 生成都需要 UCA,进 而需要 ICU。 |
何时在数据库服务器上不使用 ICU 就能获得正确的字符集转换? 在以下两种情况下,不使用 ICU 就能获得正确的字符集转换:数据库字符集和客户 端字符集均为单字节且 sqlany.cvf 可用(所有平台);操作系统支持该转换(仅限 Windows)。这是因为如果 sqlany.cvf 文件可用或主机操作系统安装了相应的转 换器,就可以不使用 ICU 而进行单字节到单字节的转换。
关于国际语言数据
客户端上何时需要 ICU?(所有平台)
对于 Unicode 客户端应用程序来说,无论数据库字符集为何,当所有客户端都安装了 ICU 时,均有可能提高客户端和数据库服务器的组合性能。这是因为可以将某些必需 的转换活动从数据库服务器下放到客户端,并且所需进行的转换更少。
此外,如果是在 Windows 平台上使用 ODBC,则必须在客户端安装 ICU,甚至对 ANSI 应用程序也是如此。这是因为驱动程序管理器会将 ANSI ODBC 调用转换为 Unicode ODBC 调用。
之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具:ReadASADB。
此工具支持ASA v5.0,v6.0,v7.0,v8.0,v9.0,v10.0,v11.0,v12.0等版本。
恢复Sybase SQL Anywhere的工具在国内应该算首创。
ReadASADB功能
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具
- 适用于所有的SQL Anywhere版本 包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x
- 适用于所有的UltraLite版本
- 能够恢复出来表结构和数据
- 能够恢复自定义数据类型
- 能够恢复存储过程等对象的语法
- 能够导出到目标数据库
- 能够导出到SQL文件并生成导入脚本
- 支持多种字符集 包括:cp850、cp936、gb18030、utf8等
- 能够恢复未加密或者简单加密类型的数据
- 简单易用
- 限制:不支持AES加密的数据文件
SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍
ReadASADB适用场景
各种误操作:
- 误截断表(truncate table)
- 误删除表(drop table)
- 错误的where条件误删数据
- 误删除db或log文件
- 误删除表中的字段
本工具的应用场景:
1.因为物理磁盘故障、操作系统、系统软件方面或者掉电等等原因导致的Sybase SQL Anywhere数据库无法打开的情况;
2.误操作,包括truncate table,drop table,不正确的where条件导致的误删除等;
Sybase SQL Anywhere无法打开时,比较常见的错误是:Assertion failed。
如:
1、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Checkpoint log: invalid bitmap page -- transaction rolled back
2、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Page number on page does not match page requested -- transaction rolled back
3、Internal database error *** ERROR *** Assertion failed:200502 (9.0.2.2451) Checksum failure on page 23 -- transaction rolled back
4、File is shorter than expected
5、Internal database error *** ERROR *** Assertion failed: 201116 Invalid free list index page found while processing checkpoint log -- transaction rolled back
6、*** ERROR *** Assertion failed: 51901 Page for requested record not a table page or record not present on page等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------