远程Sybase数据库技术支持,联系手机:13811580958,QQ:289965371!

 

随着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数据库技术问题需要咨询,请联系我!

  QQ :289965371 点击这里给我发消息
  Email:

以下官方手册为ASE 15.7 ESD#2中文版:

  1. 新增功能公告 适用于 Windows、Linux 和 UNIX 的 Open Server 15.7 和 SDK 15.7
  2. 新增功能摘要
  3. 新增功能指南
  4. ASE 15.7 发行公告
  5. 配置指南(windows)
  6. 安装指南(windows)
  7. 参考手册:构件块
  8. 参考手册:命令
  9. 参考手册:过程
  10. 参考手册:表
  11. Transact-SQL® 用户指南
  12. 系统管理指南,卷 1
  13. 系统管理指南,卷 2
  14. 性能和调优系列:基础知识
  15. 性能和调优系列:锁定和并发控制
  16. 性能和调优系列:监控表
  17. 性能和调优系列:物理数据库调优
  18. 性能和调优系列:查询处理和抽象计划
  19. 性能和调优系列:使用 sp_sysmon 监控 Adaptive Server
  20. 性能和调优系列:利用统计分析改进性能
  21. 程序员参考 jConnect for JDBC 7.0.7
  22. Adaptive Server Enterprise 中的 Java
  23. 组件集成服务用户指南
  24. Ribo 用户指南
  25. 内存数据库用户指南
  26. Sybase Control Center for Adaptive Server® Enterprise
  27. 安全性管理指南
  28. 实用程序指南

 


< 上一个 | 内容 | 下一步 >

RPC 处理和组件集成服务

在启用了组件集成服务时,可以选择节点处理器或组件集成服务来处理 外发的远程过程调用 (RPC)。以下各节中对这些机制进行了说明。


节点处理器和外发 RPC

Adaptive Server 内,通过节点处理器来传输外发 RPC,节点处理器对 通过到远程服务器的单个物理连接发出的多个请求进行多路复用。RPC 作为多步操作的一部分进行处理:

1 建立连接 — Adaptive Server 节点处理器建立与远程服务器的单个物 理连接。每个 RPC 均需要在这个物理连接上建立一个逻辑连接。该 逻辑连接通过将要使用的远程服务器进行传递。

这些连接请求的连接检验过程与常规客户端连接的检验过程不同。首 先,远程服务器必须确定是否在服务器的 sysservers 表中配置了来自 起始连接请求的服务器。如果是这样,检查系统表 sysremotelogins , 确定应如何处理连接请求。如果配置了受托模式,则不执行口令检 查。(有关受托模式的详细信息,请参见 35 页的 “受托模式 )。

2 传输 RPC — 通过逻辑连接传输 RPC 请求。

3 处理结果 — 将 RPC 的所有结果从逻辑连接传递到客户端。

4 断开连接 — 终止逻辑连接。 逻辑连接和断开步骤可能会降低节点处理器 RPC 的速度。


组件集成服务和外发 RPC

如果已启用组件集成服务,客户端可以使用两种方法之一来请求组件集 成服务处理外发 RPC 请求:

通过发出以下命令配置组件集成服务,将外发 RPC 作为所有客户端 的缺省设置来处理:

sp_configure "cis rpc handling", 1

如果使用此方法设置 cis rpc handling 配置参数,则所有新客户端连接 将继承此行为,并且由组件集成服务来处理外发 RPC 请求。这是由 所有未来连接继承的一个服务器属性。必要时,客户端可以通过发 出以下命令恢复缺省的 Adaptive Server 行为:

set cis_rpc_handling off


通过发出以下命令,将组件集成服务配置为仅处理当前连接的外发

RPC

set cis_rpc_handling on

此命令仅为当前线程启用 cis rpc handling,而不会影响其它线程的 行为。

在启用了 cis rpc handling 时,不通过 Adaptive Server 节点处理器来传递外 发 RPC 请求。而是通过组件集成服务来传递,组件集成服务使用持久 Client-Library 连接来处理 RPC 请求。使用此机制,组件集成服务按如 下方式来处理外发 RPC

1 确定客户端是否已与 RPC 要传递到的服务器建立了 Client-Library

连接。如果没有,将建立一个连接。

2 使用 Client-Library 函数将 RPC 发送到远程服务器。

3 将结果从远程服务器传递回使用 Client-Library 函数发出 RPC 的客 户端程序。

RPC 可以包含在用户定义的事务中。实际上,组件集成服务代表其客户 端执行的所有工作都是在单个连接环境中完成的。这样,就可以将 RPC 包含在工作的事务单元中,而 RPC 执行的工作可以与在该事务中执行 的其它工作一起提交或回退。

使用组件集成服务处理外发 RPC 请求的好处如下:

• Client-Library 连接是持久的,因此后续 RPC 请求可以使用与远程服 务器相同的连接。这可显著提高 RPC 性能,因为除第一个 RPC 外, 所有 RPC 均绕过连接和断开连接逻辑。

• RPC 执行的工作可以包含在事务中,并与该事务执行的其余工作一 起提交或回退。当前,只有在接收 RPC 的服务器是另一个支持事务 性 RPC Adaptive Server DirectConnect 时,才支持此事务性 RPC 行为。

对于远程服务器来说,连接请求以普通客户端连接的形式出现。除 非启用了 server logins,否则远程服务器无法区分该连接和常规应用 程序的连接。这将影响 Adaptive Server 的远程服务器管理功能,因 为未对 sysremotelogins 执行任何检验,并且所有连接在发出连接请 求之前必须建立了有效的 Adaptive Server 登录帐户 (在此情况下, 不能使用受托模式)。


RPC 的文本参数


Adaptive Server 可以在单个远程过程调用中发送大量数据。可以使用以 下方法来实现这种功能:将某些参数作为文本指针来处理,然后取消引 用这些文本指针以获得与其相关的文本值。然后,将 text 数据打包为 16K 块 (对于 Adaptive Server)和 32K 块 (对于所有其它服务器),并 作为 RPC 参数传递给 Client-Library

文本指针可被识别为 binary(16) varbinary(16) 类型的参数。在执行 RPC

时,将获得每个文本指针参数所引用的文本值,并将其扩展为 16K 的块

(对于 Adaptive Server)和 32K 的块 (对于所有其它服务器)中,其中 每个块均作为 CS_LONGCHAR_TYPE 类型的参数传递到 Client-Library

可使用以下 set 命令触发该行为:

set textptr_parameters ON

当请求 RPC 时 (cis_rpc_handling 必须为 on),在组件集成服务层中取 消引用文本指针,并使用获得的文本值来构造一个或多个 Client-Library 参数。

要完成这一过程,文本指针前面必须有一个路径名参数,该参数用于识 别从中派生文本指针的表。例如:

declare @pathname varchar(90) declare @textptr1 binary(16) declare @textptr2 binary(16)

select @pathname = "mydatabase.dbo.t1",

@textptr1 = textptr(c1),

@textptr2 = textptr(c2) from mydatabase.dbo.t1 where ... (whatever)

set textptr_parameters ON

exec SYBASE...myrpc @pathname, @textptr1, @textptr2 set textptr_parameters OFF

当名为 ‘myrpc’ RPC 被发送到服务器 SYBASE 时,实际上并不发 送 @pathname 参数,而是使用该参数来帮助定位 textptr @textptr1 @textptr2 所引用的文本值。

varchar 参数 @pathname 必须紧靠在 binary (16) 参数前面,否则,@textptr1 将被视为普通参数并被作为常规 binary (16) 值传输到服务器 SYBASE

文本将被拆分为 16K 32K 块,每个块都是 CS_LONGCHAR_TYPE 类 型的单独参数。

忽略 @@textsize 的当前值。


此方案旨在用于映射到远程过程的代理表。例如:

create existing table myrpctable (

id int, -- result column

crdate datetime, -- result column name varchar(30), -- result column

_pathname varchar(90), -- parameter column

_textptr1 binary(16), -- parameter column

_textptr2 binary(16), -- parameter column

) external procedure at SYBASE...myrpcgo

declare @textptr1 binary(16) declare @textptr2 binary(16)

select @textptr1 = textptr(c1), @textptr2 = textptr(c2) from mydatabase.dbo.t1 where <whatever>

set textptr_parameters ON select id, crdate, name from myrpctable

where_pathname = "mydatabase.dbo.t1" and

_textptr1 = @textptr1 and

_textptr2 = @textptr2

在处理对代理表 myrpctable 的查询时,组件集成服务向服务器 ‘SYBASE’ 发送名为 ‘myrpc’ RPC。将从包含在查询的 where 子句中的搜索参数 中派生这些参数。由于 textptr_parameter 选项已被设置为 ON,因此 textptrs 将扩展为 CS_LONGCHAR_TYPE,这与上述 RPC 示例所示的情 况相同。


XJS/390 支持文本参数

由于能够将大文本块作为 RPC 参数转移,因此现在组件集成服务可以 使用 XJS/390 IBM 大型机进行交互。 XJS/390 脚本 (JavaScript 式语 法)可以存储在 Adaptive Server 表 (或可通过代理表访问的文件)中, 并使用 RPC 转移到大型机。用 XJS/390 功能分析和执行该脚本的语法, 并根据脚本的过程逻辑生成结果集。

启用了以下几项功能:

• Adaptive Server 中的数据库事件可以生成 MQ Series 消息。由于 XJS/390 Mscript 支持生成消息,因此可以将 RPC 发送到大型机以请 求为响应数据库中的触发事件而生成的此类消息。

组件集成服务用户现在无需安装第三方中间件 (如 InfoHub 等), 即可访问 VSAMIMS MQSeries 数据。

要将脚本作为 RPC 参数进行处理,需要安装 XJS/390 2.0 版本或更高版 本。有关详细信息,请参见 XJS/390 规范。




--------------------------------------华丽的分割线-------------------------------------------------------------------------
之前就已经研发成功了能够从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)上提取数据的非常规恢复工具

  1. 适用于所有的SQL Anywhere版本    包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x
  2. 适用于所有的UltraLite版本
  3. 能够恢复出来表结构和数据
  4. 能够恢复自定义数据类型
  5. 能够恢复存储过程等对象的语法
  6. 能够导出到目标数据库
  7. 能够导出到SQL文件并生成导入脚本
  8. 支持多种字符集  包括:cp850、cp936、gb18030、utf8等
  9. 能够恢复未加密或者简单加密类型的数据
  10. 简单易用
  11. 限制:不支持AES加密的数据文件
请参考:研发成功了从Sybase SQL Anywhere的DB文件上恢复数据的工具
            SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍

ReadASADB适用场景

各种误操作:

  1. 误截断表(truncate table)
  2. 误删除表(drop table)
  3. 错误的where条件误删数据
  4. 误删除db或log文件
  5. 误删除表中的字段

本工具的应用场景:

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等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------