Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的数据库_Java_Ant_Jdbc_Hsqldb - Fatal编程技术网

java中的数据库

java中的数据库,java,ant,jdbc,hsqldb,Java,Ant,Jdbc,Hsqldb,我创建了build.xml文件夹,用于创建与数据库(startdb、stopdb、createtable、droptable、startManager)的连接。…我运行了这个程序,他告诉我,当我按下createtable时,他创建了表,但当我启动startManager时,我看到表不存在……如果有人能帮助我的话 my build.xml: 关闭; 创建表SALARIATII( CNP整数非空主键, NUME VARCHAR(40)不为空, SALAR整数不为空, GRADDIDACTIC

我创建了build.xml文件夹,用于创建与
数据库(startdb、stopdb、createtable、droptable、startManager)的连接。
…我运行了这个程序,他告诉我,当我按下createtable时,他创建了表,但当我启动startManager时,我看到表不存在……如果有人能帮助我的话

my build.xml:


关闭;
创建表SALARIATII(
CNP整数非空主键,
NUME VARCHAR(40)不为空,
SALAR整数不为空,
GRADDIDACTIC VARCHAR(256)不为空,
DATANASTERII VARCHAR(40)不为空
);
落桌式萨拉里亚蒂;
从SALARIATII中删除;
在Salariatiii(CNP、NUME、SALAR、Graddidatic、DATANASTERII)中插入值(1,'FLORIN BOIAN',2500,'PROFESOR',07/08/1950');

如果droptables在startManager之前运行,那么它将删除该表,对吗?也许你真的不想运行droptables?

Hi,你应该至少在你的问题中添加hsqldb和ant标签,并试着破译一下标题…:)另外,发布您的JDBC URL。它是否包含“:mem:”?我打赌他使用了
all
target,它以正确的顺序调用其他目标。没有其他目标依赖于dropables,因此它不会“意外”运行。这是有意义的,因为我们只有Ant构建文件,而不是您如何调用它。您是否只调用
all
目标?每个单独的任务都可以由应用程序或脚本调用吗?在这种情况下,正如David所说,可能是在创建和填充表之后,在显示manager之前调用了
drop
。此外,在您的all中,当您
删除
创建
表时,
空的
是不必要的。
    <property file="build.properties" />

    <!-- Global properties for this build. -->
    <property name="database.dir" value="database" />
    <property name="lib.dir" value="lib" />

    <!-- Classpath declaration. -->
    <path id="lib.class.path">
        <fileset dir="${lib.dir}">
            <include name="**/*.jar" />
        </fileset>
    </path>

    <!-- Start the HSQL DB server -->
    <target name="startdb" description="Run HSQL database server with clean DB">
        <!-- Delete database files -->
        <delete dir="${database.dir}" />
        <java classname="org.hsqldb.Server" fork="yes" classpathref="lib.class.path" failonerror="true">
            <arg value="-database.0" />
            <arg value="file:${database.dir}/db" />
        </java>
    </target>

    <!-- Start the HSQL DB browser tool -->
    <target name="startManager" description="Start HSQL DB manager">
        <java classname="org.hsqldb.util.DatabaseManagerSwing" fork="yes" classpathref="lib.class.path" failonerror="true">
            <arg value="-url" />
            <arg value="${db.url}" />
            <arg value="-driver" />
            <arg value="${db.driver}" />
        </java>
    </target>

    <!-- Stop the HSQL DB server -->
    <target name="stopdb" description="Stop HSQL database server">
        <sql driver="${db.driver}" url="${db.url}" userid="${db.user}" password="${db.pw}" onerror="continue">
            <classpath refid="lib.class.path" />
            SHUTDOWN;
        </sql>
    </target>

    <target name="createTables">
        <echo message="CREATE TABLES USING: ${db.driver} ${db.url}" />
        <sql driver="${db.driver}" url="${db.url}" userid="${db.user}" password="${db.pw}" onerror="continue">
            <classpath refid="lib.class.path" />
            CREATE TABLE SALARIATII(
                CNP INTEGER NOT NULL PRIMARY KEY,
                NUME VARCHAR(40) NOT NULL,
                SALAR INTEGER NOT NULL,
                GRADDIDACTIC VARCHAR(256) NOT NULL,
                DATANASTERII VARCHAR(40) NOT NULL
            );
            </sql>
    </target>

    <target name="dropTables">
        <echo message="DROP TABLES USING: ${db.driver} ${db.url}" />
        <sql driver="${db.driver}" url="${db.url}" userid="${db.user}" password="${db.pw}" onerror="continue">
            DROP TABLE SALARIATII;
            <classpath refid="lib.class.path" />
         </sql>
    </target>

    <target name="emptyTables">
        <echo message="USING: ${db.driver} ${db.url}" />
        <sql driver="${db.driver}" url="${db.url}" userid="${db.user}" password="${db.pw}">
            <classpath refid="lib.class.path" />
            DELETE FROM SALARIATII;
        </sql>
    </target>


    <target name="populateTables">
        <echo message="USING: ${db.driver} ${db.url}" />
        <sql driver="${db.driver}" url="${db.url}" userid="${db.user}" password="${db.pw}">
            <classpath refid="lib.class.path" />
            INSERT INTO SALARIATII(CNP, NUME,SALAR,GRADDIDACTIC,DATANASTERII) VALUES ( 1,'FLORIN BOIAN',2500,'PROFESOR', '07/08/1950');

        </sql>

    </target>

    <target name="all" depends="dropTables,createTables,emptyTables,populateTables" />

</project>