1
我正在使用postgresql托管我的数据库。在我的数据库中,我有一个表,其结构如下所示xyz在JDBC中将portgresql表导出为CSV的问题
id content folder
1 hello Inbox
2 hi Sent
我想将此表导出到CSV使用我的Java程序。代码段低于
Connection connection2 = new ServerDBConnect().getConnection();
PreparedStatement statement = connection2.prepareStatement("copy (SELECT * FROM xyz WHERE folder=?) to 'C:/export.csv' delimiter ','");
statement.setString(1, FOLDER_SELECTED); //Here, FOLDER_SELECTED=Inbox
statement.execute();
当我执行这个代码,我越来越SQLException
说
ERROR: there is no parameter $1
如果我没有("copy (SELECT * FROM xyz) to 'C:/export.csv' delimiter ','")
)指定的文件夹执行代码,代码工作正常。
我在这里做错了什么?如何解决这个问题?
注意:如果我直接在Postgresql SQL控制台中执行查询(copy (SELECT * FROM xyz WHERE folder='Inbox' ORDER BY time) to 'G:/export.csv' delimiter ','
),我会得到所需的输出。
请帮
不知道如果这个问题与你有关:http://stackoverflow.com/questions/5726362/does-postgresql-jdbc-driver-has-copy – 2012-03-02 09:35:19
@AndreaPolci:谢谢,但那个链接与我无关。我试图将本地数据库中的表格内容导出到本地系统 – 2012-03-02 09:42:23
看起来与我相关。链接是一个问题,如何使用JDBC中的'copy'。 – skaffman 2012-03-02 11:49:55