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

 


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

本机 JDBC 驱动程序中的错误处理

Sybase 支持并实现 java.sql.SQLException java.sql.SQLWarning 类中的所 有方法。 SQLException 提供有关数据库访问错误的信息。 SQLWarning 扩 展了 SQLException 并提供有关数据库访问警告的信息。

Adaptive Server 所引发的错误按其严重性编号。编号越小表示严重性越 低,编号越大则表示严重性越高。将按照严重性对错误进行分组:

警告 (EX_INFO:严重级 10) — 转换为 SQLWarnings

异常 (严重级 11 18)— 转换为 SQLException

致命错误 (严重级 19 24)— 转换为致命的 SQLException

可通过 JDBCAdaptive Server 或本机 JDBC 驱动程序引发 SQLException。 引发 SqlException 将中止导致该错误的 JDBC 查询。后续系统行为将随捕 获到错误的位置不同而发生变化:

如果在 Java 中捕获到错误 — 将由 “try”块和后续 “catch”块处理 错误。

Adaptive Server 提供了一些特定于 JDBC 驱动程序的扩展 SQLException 错误消息。它们都是 EX_USER (严重级 16)并且都能被捕获。没 有特定于驱动程序的 SQLWarning 消息。

如果错误不是在 Java 中捕获的 Java VM 将控制权返回给 Adaptive ServerAdaptive Server 将捕获错误并抛出未处理的 SQLException 错误。

raiserror 命令常用在存储过程中,用来抛出错误并打印用户定义的错 误消息。当通过 JDBC 来执行调用 raiserror 命令的存储过程时,错误 将作为严重级为 EX_USER 的内部错误来处理,并将引发一个非致命 的 SQLException


image

注释 不能使用 raiserror 命令来访问扩展错误数据;with errordata 子 句不适用于 SQLException

image

如果某个错误导致事务中止,则后果由调用 Java 方法的事务环境所决定:

如果事务包含多条语句 — 事务将中止并将控制权返回给服务器,服 务器将回退整个事务。在从服务器返回控制权之前,JDBC 驱动程序 将停止处理查询。

如果事务包含一条语句 — 事务将中止,回退它所包含的 SQL 语句, 并且 JDBC 驱动程序继续处理查询。


下列情况说明了不同的结果。考虑包含这些语句的 Java 方法

jdbcTests.Errorexample()

stmt.executeUpdate("delete from parts where partno = 0"); Q2 stmt.executeQuery("select 1/0"); Q3 stmt.executeUpdate("delete from parts where partno = 10"); Q4

包含多条语句的事务将包括下列 SQL 命令:

begin transaction

delete from parts where partno = 8 Q1 select JDBCTests.Errorexample()

在这种情况下,中止的事务将产生下列操作:

Q3 中引发一个除零异常。

• Q1 Q2 中的更改将被回退。

整个事务中止。 包含单条语句的事务包括下列 SQL 命令:

set chained off

delete from parts where partno = 8 Q1 select JDBCTests.Errorexample()

在这种情况下:

Q3 中引发一个除零异常。

不会回退 Q1 Q2 中的更改。

该异常是在 JDBCTests.Errorexample 的 “catch”和 “try”块中捕 获的。

不会执行在 Q4 中指定的删除,因为它是在与 Q3 相同的 “try” 和 “catch”块中处理的。

可以执行当前 “try”和 “catch”块外部的 JDBC 查询。




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