六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 364|回复: 0

使用Ant构建数据库

[复制链接]

升级  67.33%

43

主题

43

主题

43

主题

秀才

Rank: 2

积分
151
 楼主| 发表于 2013-1-30 02:21:16 | 显示全部楼层 |阅读模式
作者:曾巧(numenzq)
 
使用Eclipse等功能强大的集成开发环境(IDE)的主要优势是默认情况下会包含完整的Ant环境。在本教程中,将使用Ant自动完成Derby数据库的创建及填充过程。<a title="N1039B" name="N1039B" /><span class="smalltitle1">
    我们在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>
<span style="font-size: small;">先来查看一下标准的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 选项。执行结果如图:

<span style="">

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

<span style="">

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

本版积分规则

快速回复 返回顶部 返回列表