Workshop8.1中使用ANT自动执行Sql

类别:Java 点击:0 评论:0 推荐:
这是个ant实现自动sql建表的例子,运行方法,在workshop中先建一个java project,倒入这三个文件,Build 这个java project,如果Ant窗口在workshop中没有显示,就选择 察看-〉窗口->ANT

执行sql时双击ANT窗口中的图标既可自动执行。


文件1:build.xml内容如下:
<?xml version="1.0"?>
<!-- =====================================================================
     Author: aaronsi
     Date:  05/25/2004
     ===================================================================== -->

<project name="Database"
         default="resetDB"
         basedir="">

    <property name="pointbase.dir"
              value="pointbase" />            

    <property name="pointbase.port"
              value="9093" />

    <property name="pointbase.db.driver"
              value="com.pointbase.jdbc.jdbcUniversalDriver" />

    <property name="pointbase.db.name"
              value="workshop" />       

    <property name="pointbase.host"
              value="localhost" />

    <property name="weblogic.home"
              value="@WL_HOME" />
          
    <path id="classpath.pointbase">
        <pathelement location="${weblogic.home}\common\eval\pointbase\lib\pbtools44.jar"/>
        <pathelement location="${weblogic.home}\common\eval\pointbase\lib\pbclient44.jar"/>
    </path>

    <target name="resetDB"
            description="Clear and repopulate the database"
            depends="createTables,buildDatabase"/>

    <target name="createTables"
            description="Drop and create the demo tables"
    >
        <antcall target="pbCommand">
            <param name="pbscript"
                   value="dbdemo_init.sql"/>
            <param name="pointbase.db.user"
                   value="weblogic"/>
            <param name="pointbase.db.password"
                   value="weblogic"/>                  
        </antcall>
    </target> 
   
    <target name="buildDatabase"
            description="Populate tables with data"
            depends="createTables">
        <antcall target="pbCommand">
            <param name="pbscript"
                   value="dbdemo_data.sql"/>
            <param name="pointbase.db.user"
                   value="weblogic"/>
            <param name="pointbase.db.password"
                   value="weblogic"/>                  
        </antcall>
    </target>                

    <target name="pbCommand"
            description="Starts the PointBase Client with a SQL script."
    >
            <echo message="${java.class.path}" />
            <echo message="User Dir: ${user.dir}" />
            <echo message="Project Dir: ${basedir}" />           
            <echo message="PB Script to run: ${basedir}/${pbscript}"/>
            <java classname="com.pointbase.tools.toolsCommander">
            <arg value="${pointbase.db.driver}" />
            <arg value="jdbc:pointbase://${pointbase.host}:${pointbase.port}/${pointbase.db.name}" />
            <arg value="${basedir}/${pbscript}" />
            <arg value="${pointbase.db.user}" />
            <arg value="${pointbase.db.password}" />
            <classpath>
                <path refid="classpath.pointbase" />
            </classpath>
        </java>
    </target>

</project> 


文件2:dbdemo_data.sql,内容如下:

insert into DEMO.usertable
(username, age,address) values
('aaron',25,'Beijing'),
('andy', 25,'Shanghai')
;

文件3:dbdemo_init.sql,内容如下:

drop schema DEMO;
create schema DEMO;

create table DEMO.usertable
(
   userid integer identity  not null,
   username varchar2 ( 30),
   age int,
   address varchar2 ( 30),
   constraint PK_CUSTOMER primary key ( userid)
);

本文地址:http://com.8s8s.com/it/it15027.htm