Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
用于使 Java 类可在数据库中使用。
INSTALL JAVA [ NEW | UPDATE ] [ JAR jar-name ] FROM { FILE filename | expression } [ AS USER user-name ]
NEW 和 UPDATE keyword 子句 如果指定 NEW,则引用的 Java 类或 JAR 文件中必须包含新类,而不是当前安装的类或 JAR 文件的更新。如果数据库中存在同名的类或 JAR 文件,则使用 NEW 时会出现错误。
如果指定 UPDATE,则引用的文件中可以包含给定数据库中已安装的 Java 类或 JAR 文件的替换项。
如果省略,则缺省设置为 NEW。
JAR 子句 如果指定了此子句,则 filename 必须指定一个 JAR 文件。JAR 文件的扩展名通常为 .jar 或 .zip。
可以压缩或解压缩已安装的 JAR 和 ZIP 文件。由于压缩模式中的差异,建议在创建包含文本源的 JAR 文件时关闭压缩。
如果指定了 JAR 子句,则在安装了 JAR 文件包含的类后,该 JAR 文件将保留为 JAR。该 JAR 是与这些类中的每一个相关联的 JAR。使用 JAR 子句安装在数据库中的 JAR 文件称为数据库的保留 JAR 文件。
jar-name 是最大长度为 255 字节的字符串值。jar-name 用于在后面的 INSTALL JAVA UPDATE 和 REMOVE JAVA 语句中标识保留的 JAR。
FROM FILE 子句 指定安装 Java 类或 JAR 文件的位置。
file-name 支持的格式包括完全限定文件名(例如 'c:\\libs\\jarname.jar' 和 '/usr/u/libs/jarname.jar')和相对文件名(相对于数据库服务器的当前工作目录)。如果数据库服务器的 CLASSPATH 中包括类或 JAR 文件的路径,则无需在文件名中包含该路径。
filename 必须标识类、JAR 或 ZIP 文件。
FROM 子句 表达式必须计算为二进制类型,其值必须包含有效的类或 JAR 文件。
AS USER 子句 指定对象的所有者。
每个类的类定义是在首次使用该类时由每个连接的 VM 装载的。当您 INSTALL(安装)类时,将隐式重新启动连接的 VM。因此,您可以直接访问新类。由于 VM 重新启动,所以存储在 Java 静态变量中的所有值都将丢失,任何类型为 Java 类的 SQL 变量也会被删除。
对于其它连接,新类会在下次 VM 首次访问该类时装载。如果该类已由 VM 装载,则在为该连接重新启动 VM 后,该连接才能看到新类。
任何用户可以任何方式引用所有已安装的类。
Windows Mobile 上不支持此语句。
您必须具有 MANAGE ANY EXTERNAL OBJECT 系统特权。
SQL/2008 服务商扩充。
以下示例通过提供文件名和类的位置,安装名为 Demo 的虚构 Java 类。
INSTALL JAVA NEW FROM FILE 'D:\\JavaClass\\Demo.class';
以下示例安装包含在虚构 ZIP 文件中的所有类,并在数据库内将它们与 JAR 名称 Widgets 相关联。安装后,不保留 ZIP 文件的位置,并且必须使用完全限定的类名(包名和类名)引用类。
INSTALL JAVA JAR 'Widgets' FROM FILE 'C:\\Jars\\Widget.zip';