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 }
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。
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/2008 服务商扩充。
以下语句通过提供文件名和类的位置,安装用户创建的 Java 类 Demo。
INSTALL JAVA NEW FROM FILE 'D:\JavaClass\Demo.class';
以下语句安装包含在 zip 文件中的所有类,并在数据库内将它们与 JAR 文件名关联。
INSTALL JAVA JAR 'Widgets' FROM FILE 'C:\Jars\Widget.zip';
同样,不保留 zip 文件的位置,并且必须使用完全限定的类名(包名和类名)引用类。