【发布时间】:2014-04-22 21:03:14
【问题描述】:
我有一个包含 Spring、Hibernate 和 PostgreSQL 的项目,并且必须使用 ANT 来创建包含数据的架构:
<sql driver="org.postgresql.Driver"
classpath="src/main/webapp/WEB-INF/lib/postgresql-9.1-901.jdbc4.jar"
url="jdbc:postgresql://localhost:5433/postgres"
userid="postgres"
password="pw123"
autocommit="true"
src="src/main/sql/dbbackup.sql">
</sql>
但我收到此错误:
C:\Users\<user>\<workspace>\<Project>\antdb.xml:22: org.postgresql.util.PSQLException: ERROR: COPY from stdin failed: The JDBC driver currently does not support COPY operations.
不知道我们是否可以在这里使用 postgresql.copy 类?
【问题讨论】:
-
PgJDBC 不支持
COPY直接,但它通过您可以从PGConnection获取的CopyManagerAPI 支持。麻烦的是,你不能从一个普通的SQL文件中使用它。就个人而言,我会向psql运行.sql文件。 -
我可以使用
psql,但我如何将它与 ant 一起使用? -
Ant 支持通过 exec 任务运行 shell 命令。
-
也许你能帮我一点忙。我做了
exec这样"><exec executable="cmd"> <arg value="psql -p 5433 -U postgres -d etsydb -f src/main/sql/etsydbbackup.sql" /> </exec>什么都没有发生.. -
得到了答案! -
标签: java hibernate postgresql jdbc ant