Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 使用 SQL » SQL 语句 » SQL 语句 (E-O)

 

INSTALL JAVA 语句

此语句用于使 Java 类可在数据库中使用。

语法
INSTALL JAVA
[ NEW | UPDATE ]
[ JAR jar-name ]
FROM { FILE filename | expression }
参数
  • NEW 和 UPDATE keyword 子句   如果指定 NEW 安装模式,则引用的 Java 类必须是新类,而不是当前安装的类的更新。如果数据库中存在同名的类,且使用 NEW 安装模式,则会出现错误。

    如果指定 UPDATE,则引用的 Java 类可以包含给定数据库中已安装的 Java 类的替换类。

    如果省略 install-mode,则缺省模式为 NEW。

  • JAR 子句   如果指定了此子句,则 filename 必须指定一个 jar 文件。JAR 文件的扩展名通常为 .jar.zip

    可以压缩或解压缩已安装的 jar 和 zip 文件。

    如果指定了 JAR 选项,则在安装了 jar 包含的类后,该 jar 将保留为 jar 文件。该 jar 是与这些类的每一个关联的 jar。使用 JAR 选项安装在数据库中的 jar 称为数据库的保留 jar。

    jar-name 是最大长度为 255 字节的字符串值。jar-name 用于在后面的 INSTALL JAVA、UPDATE 和 REMOVE JAVA 语句中标识保留的 jar。

  • FROM FILE 子句   指定安装 Java 类的位置。

    file-name 支持的格式包括完全限定文件名(例如 'c:\libs\jarname.jar' 和 '/usr/u/libs/jarname.jar')和相对文件名(相对于数据库服务器的当前工作目录)。

    filename 必须标识类文件或者 jar 文件。

  • FROM 子句   表达式必须计算为二进制类型,其值必须包含有效的类文件或 jar 文件。

注释

每个类的类定义是在首次使用该类时由每个连接的 VM 装载的。当您 INSTALL(安装)类时,将隐式重新启动连接的 VM。因此,不管 INSTALL 的 install-mode 是 NEW 还是 UPDATE,都可以直接访问新类。由于 VM 重新启动,所以存储在 Java 静态变量中的所有值都将丢失,任何类型为 Java 类的 SQL 变量也会被删除。

对于其它连接,新类会在下次 VM 首次访问该类时装载。如果该类已由 VM 装载,则在为该连接重新启动 VM 后,该连接才能看到新类。

权限

需要 DBA 权限才能执行 INSTALL JAVA 语句。

任何用户可以任何方式引用所有已安装的类。

Windows Mobile 上不支持。

另请参见
标准和兼容性
  • SQL/2003   服务商扩充。

示例

以下语句通过提供文件名和类的位置,安装用户创建的 Java 类 Demo。

INSTALL JAVA NEW
FROM FILE 'D:\JavaClass\Demo.class';

以下语句安装包含在 zip 文件中的所有类,并在数据库内将它们与 JAR 文件名关联。

INSTALL JAVA
JAR 'Widgets'
FROM FILE 'C:\Jars\Widget.zip';

同样,不保留 zip 文件的位置,并且必须使用完全限定的类名(包名和类名)引用类。