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

 


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

SQL 中调用 Java 方法

通过对实例方法使用实例名称限定,对静态方法使用实例或类名称限定, 可以在 SQL 中通过引用 Java 方法来调用它们。

实例方法通常会与其类的某个实例中封装的数据有密切的联系。静态

(类)方法影响整个类,而不仅仅是该类的一个特定实例。静态方法经 常应用于各种类的对象和值。

静态方法一经安装,即可使用。使用静态方法作为函数的类必须为 public, 但它不必是可序列化的。

Adaptive Server 中使用 Java 的一个主要优点是,可以将静态方法作为 用户定义的函数 (UDF) 向调用者返回一个值。

可以在存储过程、触发器、 where 子句或任何可使用内置 SQL 函数的地 方将 Java 静态方法作为 UDF


SQL 中作为 UDF 直接调用的 Java 方法具有以下限制:

如果 Java 方法通过 JDBC 访问数据库,则只有 Java 方法可以使用结 果集中的值,客户端应用程序无法使用这些值。

不支持输出参数。方法可以处理通过 JDBC 连接接收的数据,但只 能向其调用者返回一个返回值,该值是在其定义中声明的。

只有在将类实例作为列值使用时,才能支持跨数据库的静态方法 调用。

执行任何 UDF 的权限被隐式授予 public。如果 UDF 通过 JDBC 执行 SQL 查询,系统将检查 UDF 调用者的数据访问权限。因此,如果用户 A 调 用 UDF 以访问表 t1,则用户 A 必须具有 t1 select 权限,否则查询将 会失败。有关 Java 方法调用的安全模式的详细论述,请参见 87 页的 “安全性和权限

要使用 Java 静态方法返回结果集和输出参数,必须将这些方法装入 SQL 包装中,然后将其作为 SQLJ 存储过程或函数进行调用。有关在 Adaptive Server 中调用 Java 方法的各种方式的比较,请参见 88 页的 “在 Adaptive Server 中调用 Java 方法


方法示例


示例类 Address Address2Line 有名为 toString( ) 的实例方法,而示例类 Misc 有名为 stripLeadingBlanks( )getNumber( )getStreet( ) 的静态方法。 您可以在值表达式中以调用函数的方式来调用值方法。

declare @name varchar(100) declare @street varchar(100) declare @streetnum int declare @A2 Address2Line


select @name = Misc.stripLeadingBlanks(name),

@street = Misc.stripLeadingBlanks(home_addr>>street),

@streetnum = Misc.getNumber(home_addr>>street),

@A2 = mailing_addr from emps

where home_addr>>toString( ) like '%Shoreline%'

有关无类型方法 (没有返回值的方法)的信息,请参见 50 页的 “类 型和无类型方法


Java-SQL 方法中的异常

如果 Java-SQL 方法调用在完成时有未处理的异常,将引发 SQL 异常, 并显示以下错误消息:

Unhandled Java method exception

异常消息文本包含引发异常的 Java 类的名称,并在其后显示发生 Java 异 常时提供的字符串 (如果存在)。




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