在Eclipse中开发Apache Derby应用程序 - 编程入门网
referencing OLD as OLD NEW as NEW for each row mode db2sql
update books set status = updateQuantity(NEW.id, NEW.title, NEW.author,
OLD.quantity, NEW.quantity) where id = NEW.id;
检查触发器是否有效的一种简便方法是使用以下命令从 ij 工具中更新 book 表:update books set quantity=10 where id=1; 对表的修改将触发函数的调用,从而导致执行 Java 方法。这将更新书的状态,并发送一条消息,这条消息可以通过切换到网络服务器控制台视图来查看。 由于触发器直接存储在数据库中,因此无论如何更新数据,对触发器的调用都将是一致性的。由于这个原因,如果您试图使用客户机应用程序更新数量,那么您将看到,适当的时候就会生成电子邮件消息,不需要对应用程序作任何更改。 下图展示了客户机应用程序的输出,用的是原始数据。注意,这一次书的状态会获得更新,并生成了一条消息: 图 9. Inventory 应用程序的示例输出
图 10. Network Server 的示例输出 在Eclipse中开发Apache Derby应用程序(12)时间:2011-02-16 IBM Gilles Roux部署应用程序 至此,您已经有了一个功能完备的数据库和客户机应用程序,但它们仍然只能在 Eclipse 环境中运行,在生产环境中不被接受。因此,还需要执行应用程序的部署。 将 Java 函数存储在数据库中 如前所述,Derby Java 函数或过程是由数据库引擎自身来执行的。因此,数据库引擎必须能够访问 Java 类。在这个例子中,这一点是没有问题的,因为 Derby 网络服务器运行在 Eclipse 项目中,并且使用项目的类路径,该类路径包含了已创建的所有 Java 类。 在一个典型的生产环境中,您不需要更改用于 Derby 网络服务器的类路径。Derby 提供了一些可以解决这个问题的过程: sqlj.install_jar 过程将一个 JAR 文件安装到数据库中。JAR 文件在安装好之后便无法修改,但是可以使用 sqlj.remove_jar 和 sqlj.replace_jar 来删除或更新 JAR。 derby.database.classpath 属性包含数据库将要使用的附加类路径条目。可以通过使用 syscs_util.syscs_set_database_property 过程更新这个属性,以便更新属性和包含已安装的 JAR。 对于本文中的例子,首先要创建一个 JAR 文件,这个 JAR 文件包含 DerbyFunctions 类。这可以在 Eclipse 中通过右击这个类并选择 Export->JAR file 来完成创建任务。 然后可以使用下列命令(在 ij 中)将 JAR 文件安装到数据库中,并将其添加到类路径中: 清单 12. 将 JAR 文件存储在 Derby 数据库中
做完这些后,Java 代码便属于数据库,这使得数据库的转移和启动变得很容易。整个数据库目录可以直接转移到一个完全不同的环境中,并且可以正常运行。 网络服务器配置 在开发应用程序时,我们使用了网络服务器配置,这样一来,应用程序的部署就会按正确的方式打包各个组件。 在服务器端,需要安装: derby.jar,其中包含 Derby 数据库引擎。 derbynet.jar,其中包含网络服务器。 bookstoredb/ 目录,其中包含数据库,还包括带有函数的 JAR 文件。 这些组件可以复制到任何装有 JVM 的机器上,网络服务器可以使用下列命令来启动: 清单 13. 启动 Derby 网络服务器
可以使用下列命令可以停止网络服务器: 清单 14. 停止 Derby 网络服务器
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |