远程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. 实用程序指南

 


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

使用组件集成服务时出现问题

本节提供关于如何解决使用组件集成服务时可能遇到的问题的提示。


无法访问远程服务器

无法访问远程服务器时,会返回以下错误消息:

11206 Unable to connect to server server_name.

此消息之前将出现以下 Client-Library 消息之一:

Requested server name not found

Driver call to connect two endpoints failed Login failed

Client-Library 消息表示不能访问远程服务器的原因,如以下几节所述。


未找到请求的服务器名

interfaces 文件中未定义此服务器,这时将显示以下消息:

Requested server name not found

11206 Unable to connect to server server_name.

使用 sp_addserver 添加远程服务器时,未检查 interfaces 文件。第一次试 图与远程服务器连接时,将检查 interfaces 文件。若要更正这一问题,请 将远程服务器添加到正由组件集成服务使用的 interfaces 文件中。


连接两个结束点的驱动程序调用失败

如果在 interfaces 文件中定义了远程服务器,但是未收到连接请求的响 应,则显示以下消息:

Driver call to connect two endpoints failed 11206 Unable to connect to server server_name.

检验环境设置是否正确。

若要对其进行测试,请尝试使用 isql 或类似的工具直接连接到远程 服务器:

a 登录到运行组件集成服务的计算机上。

b SYBASE 环境变量设置为在组件集成服务启动时所使用的相 同位置。组件集成服务使用 SYBASE 环境变量所指定的目录中 的 interfaces 文件,除非在 runserver 文件中用 -i 参数覆盖了该环 境变量。


image

注释 前两步对于确保测试环境与连接远程服务器失败时组件 集成服务所使用的环境保持相同至关重要。

image

c 使用 isql 或类似的工具直接连接到远程服务器。

如果环境设置正确,但连接失败,则按列表中的步骤继续操作。如 果已建立连接,则组件集成服务所使用的环境存在问题。

检验远程服务器是否已启动并且正在运行。

登录到远程服务器所在的计算机上,检验服务器是否正在运行。如 果服务器正在运行,继续按列表操作。如果服务器未运行,则重新 启动服务器,然后重试查询。


检验 interfaces 文件中的远程服务器条目是否正确:

检验此计算机名称是否是已装载软件的计算机的正确名称。

检验如果 interfaces 文件为文本文件,查询行和 master 行以制表 符开头,而不是以空格开头。

检验端口号是否可用。检查 /etc 目录下的 services 文件,确保没 有为另一进程保留端口号。


登录失败


如果能访问远程服务器,但是登录名和口令不正确,则显示以下消息:

Login failed

11206 Unable to connect to server server_name.

通过执行下列操作,检查是否为远程服务器定义了外部登录名:

exec sp_helpexternlogin server_name

如果未定义外部登录名,组件集成服务使用用于连接到 Adaptive Server 的用户登录名和口令。例如,如果用户使用 “sa” 帐户连接到 Adaptive Server,那么组件集成服务在建立远程连接时将使用登录名 “sa”。除非 远程服务器是另一个 Adaptive Server,否则 “sa” 帐户可能不存在,而且 必须使用 sp_addexternlogin 添加外部登录名。

如果定义了外部登录名,则检验用户登录名是否正确。远程服务器登录 区分大小写。正在使用的用户登录名和 externlogins 中的条目的大小写 是否正确?

如果登录名正确,则口令可能是错误的。您不能显示口令。如果用户登 录名错误或者口令不正确,则删除现有外部登录名,然后执行下列命令 对其重新定义:

exec sp_dropexternlogin server_name, login_name

go

exec sp_addexternlogin server_name, login_name, remote_login, remote_password

go


无法访问远程对象


无法访问远程对象时,将出现以下错误消息:

Error 11214 Remote object object does not exist. 本地代理表定义或者远程服务器上的表本身可能有问题。 请检验:

在组件集成服务中是否已定义了此对象。 运行以下命令进行确认:

sp_help object_name

如果该对象不存在,请在组件集成服务中创建该对象。

如果已在组件集成服务中定义了该对象,其定义是否正确无误。

表名可以有四个部分,格式为 server.dbname.owner.tablename dbname 部分对于 Oracle InfoHUB 服务器是无效的。

如果对象定义错误,请用 sp_dropobjectdef 命令将其删除,然后用

sp_addobjectdef 命令进行正确定义。

如果本地对象定义正确,则检查远程服务器上的表以验证:

是否将权限设置为既可访问数据库又可访问表。

是否已将数据库标记为可疑。

数据库是否可用。

您是否可以使用本机工具 (如 Oracle 上的 SQL*Plus)访问远 程表。


从远程对象检索数据时出现问题

收到关于远程对象不匹配的错误消息时,说明组件集成服务对象定义与 远程对象定义不匹配。发生这种情况的原因是:

在组件集成服务之外变更了对象定义。

在组件集成服务之外添加或删除了索引。


在组件集成服务之外变更了对象

在组件集成服务中定义对象后,在远程服务器对该对象所做的变更不会 改变本地代理对象定义。如果在组件集成服务之外变更了对象,解决这 个问题的步骤将会有所不同,这取决于定义对象时使用的是 create existing table 还是 create table

若要确定定义对象时所采用的方法,请运行:

sp_help object_name

如果对象是通过 create existing table 命令定义的,则在结果集中返回以下 消息:

Object created with 'existing' option 如果未显示此消息,则说明对象是通过 create table 定义的。 如果在组件集成服务中使用 create existing table 创建表,则: 1 在组件集成服务中使用 drop table

2 在组件集成服务中使用 create existing table 再次创建该表。这样就会 在远程服务器上用表的新版本创建该表。

如果该表是在组件集成服务中使用 create table 创建的,则在使用 drop table 时,将删除远程对象。若要防止出现此情况,请执行以下步骤:

1 对远程服务器上的表重命名,这样在使用 drop table 时就不会将此表 删除。

2 使用原始名称在远程服务器上创建一个表。

3 在组件集成服务中使用 drop table 删除组件集成服务和远程服务器上 的表。

4 在远程服务器上用原始名对第 1 步中保存的表重命名。

5 在组件集成服务中使用 create existing table 再次创建该表。


image

警告!在远程服务器上对表进行重命名之前,切勿在组件集成服务中使 用 drop table,否则将删除远程服务器上的表。

image


一个应遵循的合理规则是:在远程服务器上创建对象,然后在组件集成 服务中执行 create existing table 以创建对象。这可用较少的步骤来解决不 匹配问题,并且不会删除远程服务器上的对象。


在组件集成服务之外添加或删除了索引

组件集成服务无法识别在组件集成服务之外添加或删除的索引。检验组 件集成服务使用的索引是否与远程服务器上使用的索引相同。使用 sp_help 查看组件集成服务所用的索引。在远程服务器上使用适当的命 令检验远程服务器所用的索引。

如果索引不相同,则解决这个问题的步骤会有所不同,这取决于定义对 象时使用的是 create existing table 还是 create table

若要确定定义对象时所采用的方法,请运行:

sp_help object_name

如果对象是通过 create existing table 命令定义的,则在结果集中返回以下 消息:

Object created with 'existing' option 如果未显示此消息,则说明对象是通过 create table 定义的。 如果使用 create existing table 创建对象,则:

1 在组件集成服务中使用 drop table

2 在组件集成服务中使用 create existing table 命令重新创建表。这将更 新索引以便与远程表中的索引匹配。

如果使用 create table 创建对象:

1 使用 drop index 从远程表中删除索引。

2 在组件集成服务中使用 create index 命令重新创建索引。这就在组件 集成服务和远程服务器中创建了索引。

如果对象是用 create table 定义的,一种替代的方法是打开跟踪标志 11208。该跟踪标志能防止将 create index 传送到远程服务器。若要使用 跟踪标志 11208,请按以下步骤操作:

1 打开跟踪标志 11208

dbcc traceon(11208)

2 create index 创建索引。

3 关闭跟踪标志 11208

dbcc traceoff(11208)




--------------------------------------华丽的分割线-------------------------------------------------------------------------
之前就已经研发成功了能够从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等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------