Creating a database using ant - Mailing list pgsql-jdbc

From Nathan McEachen
Subject Creating a database using ant
Date
Msg-id 43814BE7.1090507@mceachen.us
Whole thread Raw
Responses Re: Creating a database using ant
Re: Creating a database using ant
List pgsql-jdbc
Hello,

I am trying to write get ant to drop and create a database.  I tried to
use the sql task but recieved the following error:

java.sql.SQLException: ERROR: DROP DATABASE cannot run inside a
transaction block

Here is my ant task:

        <sql driver="${db.postgresql.driver}"
            userid="${rootuser}"
            password="${rootpassword}"
            url="${db.postgresql.url}"
            onerror="stop"
            autocommit="false"
            src="${db.postgresql.sqlScripts.dir}/dropDatabase.sql">
            <classpath>
                <path refid="run.classpath"/>
            </classpath>
        </sql>

Although autocommit is false, it looks like the sql script is still
executing within a transaction.  Does anyone know a workaround?

I also tried runing the dropdb command directly, but (from my
understanding) ant cannot receive user input during execution.  As a
result, I can't supply a password to dropdb (at least I don't know how
to do it).

        <exec executable="${postgres_bin.dir}/dropdb"
              failonerror="true">
          <arg value="-U"/>
          <arg value="${rootuser}"/>
          <arg value="--password"/>
          <arg value="mydb"/>
        </exec>

Many thanks,

-Nathan

--
In theory, there is no difference between theory and practice.  But, in practice, there is.

--Jan L.A. van de Snepscheut



pgsql-jdbc by date:

Previous
From: Tjioe Ai Xin
Date:
Subject: Re: Problem when upgrade PostgreSQL 7.3.3 to PostgreSQL 8.0.3
Next
From: Jojo Paderes
Date:
Subject: Re: passing array as parameters to PrepareStatement or callable statement.[setObject() or setArray()]