这是个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) );
|