使用Ant构建数据库
作者:曾巧(numenzq)
使用Eclipse等功能强大的集成开发环境(IDE)的主要优势是默认情况下会包含完整的Ant环境。在本教程中,将使用Ant自动完成Derby数据库的创建及填充过程。
我们在build.xml文件里编辑如下Target,
<?xml version="1.0" ?>
<project default="builddb">
<target name="builddb">
<sql
driver="org.apache.derby.jdbc.ClientDriver"
url="jdbc:derby://localhost:1527/WCNDerby01;create=true;"
userid="derbyuser"
password="derbyuser"
onerror="continue" >
<classpath>
<pathelement location="${DERBY_HOME}/lib/derbyclient.jar"/>
</classpath>
<transaction src="CreateSchemas.sql"</transaction>
<transaction>set schema APP;</transaction>
<transaction src="APP/Tables/Glossary.t.sql"></transaction>
<transaction src="APP/Data/Glossary.data.sql"></transaction>
</sql>
</target>
</project>
先来查看一下标准的Ant标记<sql>中的属性。如果曾经使用过Java数据库连接(Java Database Connectivity,JDBC),该标记中的大部分内容您都应当很熟悉。为方便起见,我使用的是Derby网络客户机;在生产环境中,我将切换到Derby嵌入式驱动器中以避免在网络操作过程中运行DDL脚本。另外,注意到在连接URL时使用了create=true选项;此选项用于在数据库不存在的情况下创建数据库,但如果已在先前设定的derby.system.home目录中创建了数据库,则此选项将不起作用。
确保Derby网络服务器处于运行状态:在Eclipse Package Explorer视图中的build.xml上单击鼠标右键,单击Run As,然后选择1 Ant Build 选项。执行结果如图:

此外,还可以显示Ant视图,然后使用该视图中的工具栏按钮添加并运行build.xml文件,如图所示。

如果再次运行该脚本,不会对数据库中的数据造成任何破坏。它仅仅是数据库管理的最佳实践的概念。自己编写DDL脚本,并使这些脚本可以重复运行而不会产生任何负面作用。我不只一次看到DDL脚本在重新创建表之前就删除了表。因此,始终要将drop操作与create 操作分开。还请注意<sql>标记中的onerror属性;我在开发时把此属性设为continue,然后在所有脚本都固定后将其更改为stop。这样做使您可以逐步完成开发过程。
查看先前设为derby.system.home的目录。现在可以看到一个与数据库同名的子文件夹。该子文件夹中包括与数据库相关的文件。Ant脚本创建了所有这些文件。
发表评论
- 浏览: 86091 次
- 性别:

- 来自: 重庆

- 详细资料
搜索本博客
最新评论
-
jquery图书列表
那本jQuery Reference Guide就算了……还不如不看呢……
-- by shawphy -
你会用Protocol Buffers吗 ...
为什么只做配置文件用?我想google来使用Protocol Buffers,主 ...
-- by menlong999 -
你会用Protocol Buffers吗 ...
为什么只做配置文件用?我想google来使用Protocol Buffers,主 ...
-- by menlong999 -
你会用Protocol Buffers吗 ...
引用XML是对机器友好的,着你都读得懂,还怕读不懂Protocol Buffer ...
-- by Sam1860 -
你会用Protocol Buffers吗 ...
Protocol Buffers好像是一个二进制协议。自Web Services ...
-- by hax






评论排行榜