Olá pessoal, estou com um problema.
Tenho uma aplicação java e estou tentando otimizar alguns processos na atualização do servidor.
Com isso criei um build.xml para rodar com o ant.
Estou tentando dropar o meu banco de datos e não ta rolando.
Segue processo que estou fazendo e meu build.xml
build.xml
<project name="Drop Database" basedir=".">
<property name="sql.driver" value="org.postgresql.Driver"/>
<property name="sql.url" value="jdbc:postgresql:postgres"/>
<property name="sql.user" value="postgres"/>
<property name="sql.pass" value="mypwd"/>
<target name="dropDB">
<sql driver="${sql.driver}"
url="${sql.url}"
userid="${sql.user}"
password="${sql.pass}">
<classpath>
<pathelement location="postgresql-8.3-603.jdbc3.jar"/>
</classpath>
drop database mydatabase;
</sql>
</target>
</project>
Rodando ant pela linha
C:\Users\Paulo\Documents\myproject>ant -buildfile build.xml dropDB
Retorno quando executo o comando
Buildfile: build.xml
dropDB:
BUILD FAILED
org.postgresql.util.PSQLException: ERROR: DROP DATABASE cannot run inside a transaction block
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1592)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1327)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:192)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:336)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:328)
at org.apache.tools.ant.taskdefs.SQLExec.execSQL(SQLExec.java:565)
at org.apache.tools.ant.taskdefs.SQLExec.runStatements(SQLExec.java:535)
at org.apache.tools.ant.taskdefs.SQLExec$Transaction.runTransaction(SQLExec.java:764)
at org.apache.tools.ant.taskdefs.SQLExec$Transaction.access$000(SQLExec.java:706)
at org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:449)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
at org.apache.tools.ant.Main.runBuild(Main.java:758)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
Total time: 0 seconds
Pessoal já tei uma lida a respeito eu uso windows vista e li em alguns forums que pode ser permissão, porém dei permissão na pasta que estou trabalhando para o user do postgres mas mesmo assim o erro segue o mesmo.
Alguem pode ajudar?
Abraços