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

 


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

数据库中的 Java:问题和解答

尽管本书是面向那些熟悉 Java 的读者,但是仍有许多有关数据库中 Java 的知识有待我们去学习。Sybase 不仅用 Java 来扩展数据库的功能,而且 用数据库来扩展 Java 的功能。

无论是经验丰富的 Java 用户还是初学者,都应该阅读这一节。这一节采 用问答的形式帮助用户了解 Adaptive Server 中的 Java 的基础知识。


主要功能有哪些?


后面几节详细说明了所有这些内容。通过使用 Adaptive Server 中的 Java, 您可以:

使用任何支持 Java 6 或更高版本的商业 JVM 运行 Java

直接从 SQL 语句中调用 Java 函数 (方法)。

SQL 别名包装 Java 方法并将它们当作标准的 SQL 存储过程和内 置函数来调用。

使用内部 JDBC 驱动程序访问 SQL 数据。

Java 类用作 SQL 数据类型。

在表中保存 Java 类的实例。

通过 Adaptive Server 数据库中存储的原始数据生成 XML 格式的文 档,也可以反过来,即,将 XML 文档以及从中提取的数据存储到 Adaptive Server 数据库中。

调试在数据库中运行的 Java 类。


如何在数据库中存储 Java 指令?

Java 是一种面向对象的语言,其指令采用类的形式。您可以在数据库外 部编写 Java 指令并将其编译为已编译的类 (字节码),这些类是保存 Java 指令的二进制文件。

然后,可以将已编译的类安装到数据库中,并在数据库服务器上执行这 些类。

Adaptive Server Java 类提供了运行时环境。您需要使用 Java 开发环境

(如 Sybase PowerJ™ Sun Microsystems Java 开发工具包 (JDK))编写 和编译 Java


如何在数据库中执行 Java

Adaptive Server 在执行的 SQL 语句中遇到 Java 语句时,服务器将调用 JVM 以执行该语句。如果 JVM 已运行,则会将 Java 调用转发到 JVM; 如果这是第一个 Java 请求,则会自动启动 JVMJVM 查找并装载 Java 语句指定的类,然后执行字节码。


支持哪些 Java 虚拟机 (JVM)

Adaptive Server Java 框架设计用于任何支持 Java 6 或更高版本的标准 JVMAdaptive Server 15.0.3 版经认证可用于 $SYBASE/shared 目录中包含的 Java 6 版。使用早期版本的 Java 编译的类可以继续在较高版本的 Java 中 正确运行。


什么是无人参与模式?

Adaptive Server 中的 Java 在无人参与模式下运行,这意味着不使用显示 设备、键盘和鼠标。虽然标准 Java 分发中的所有类均可供用户使用,但 不支持某些需要用户输入或输出设备的方法。


什么是 JDBC


JDBC 是在 Java 中执行 SQL 的行业标准 API

Adaptive Server 提供本机 JDBC 驱动程序。根据设计,该驱动程序在服 务器上执行时可实现最佳性能,因为它不需要通过网络来通信。该驱动 程序允许数据库中安装的 Java 类使用执行 SQL 语句的 JDBC 类。


如何将 Java SQL 一起使用?

数据库中的 Java 设计原则是,为现有 SQL 功能提供自然的开放式扩展。

SQL 中调用 Java 操作 Sybase 扩展了 SQL 表达式的范围以包括

Java 对象的字段和方法,以便在 SQL 语句中包含 Java 操作。

作为 SQLJ 存储过程和函数的 Java 方法 — 可以为 Java 静态方法创 建一个 SQLJ 别名,以便将它们作为标准 SQL 存储过程和用户定义 的函数 (UDF) 进行调用。

Java 类变为用户定义的数据类型 — 可以通过用于传统 SQL 数据类 型的相同 SQL 语句来存储 Java 类实例。

您可以使用作为 Java API 一部分的类和由 Java 开发人员创建和编译的类。


什么是 Java API

Java 应用程序编程接口 (API) 是一组由 Sun Microsystems 定义的基本功 能。Java 开发人员可以使用和扩展该接口。这是使用 Java 完成各种任务 的关键所在。

Java API 在它自己的范围内提供了众多功能,它是为单个用户应用程序 创建的所有用户定义类的基础。


Java API 支持哪些 Java 类?

Adaptive Server 在数据库中支持所有标准 Java 类。由于数据库中的 Java 在无人参与模式下运行(请参见 7 页的“什么是无人参与模式? ), 某些需要用户输入或输出设备的方法将引发 Java 异常。


是否可以在数据库中安装用户定义的类?

您可以将自己的 Java 类安装到数据库中,例如,用户创建的 Employee

类或开发人员设计、编写并使用 Java 编译器编译的 Inventory 类。

用户定义的 Java 类可以同时包含数据以及对数据执行的方法。在数据库 中安装这些类后, Adaptive Server 允许在数据库的任何部分和操作中使 用这些类并执行它们的功能 (以类或实例方法的形式)。


是否可以使用 Java 访问数据?

JDBC 接口是用于访问数据库系统的行业标准。 JDBC 类可用于连接到数 据库,使用 SQL 语句请求数据并返回可在客户端应用程序中处理的结果。

Adaptive Server 提供了一个内部 JDBC 驱动程序,它允许数据库中安装 的 Java 类使用执行 SQL 语句的 JDBC 类。


是否可以在客户端和服务器上使用相同的类?

您可以创建在企业应用程序的不同层中使用的 Java 类。可以将同一 Java

类集成到客户端应用程序、中间层或数据库中。

请注意,在不同层中使用的类或在同一层中不同时间使用的类将保持兼容 或有意使其不兼容,以使行为在整个应用程序中保持一致。有关详细信 息,请参见有关 java.io.Serializable 类中的 serialVersionUID Java 文档。


如何在 SQL 中使用 Java

使用用户定义的 Java 类分为三个步骤:

1 编写或获取一组要用作 SQL 数据类型或静态方法的 SQL 别名的

Java 类。

2 Adaptive Server 数据库中安装这些类。


image

注释 Java 分发中包含的类始终可用,不需要在使用之前在数据库 中安装这些类。

image


3 SQL 代码中使用这些类执行以下操作:

直接将静态方法作为 UDF 进行调用。

Java 类声明为 SQL 列、变量和参数的数据类型。在本手册中, 将它们称为 Java-SQL 列、变量和参数。

引用 Java-SQL 列、变量或参数的字段或方法。

SQL 别名中包装静态方法并将其用作存储过程或函数。


在何处查找数据库中的 Java 的相关信息?

有很多关于 Java 和数据库中的 Java 的书籍。 Sun 网站上提供了最新的

Java 语言规范。


不能使用数据库中的 Java 执行的操作

Adaptive Server Java 类的运行时环境,而并非是 Java 开发环境。 不能在数据库中执行以下操作:

编辑类的源文件 (*.java 文件)。

编译 Java 类的源文件 (*.java 文件)。

执行不支持的 Java API,例如,小程序和可见类。

使用 Java 本机接口 (JNI)

Java 对象作为发送到远程过程调用或从中接收的参数。它们不能 正确进行转换。

Sybase 建议不要在 Java-SQL 函数、 SQLJ 函数或 SQLJ 存储过程引用的 方法中使用非最终静态变量。由于静态变量范围取决于实现情况,因此, 为这些变量返回的值可能不可靠。



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