我尝试了上面的代码。我成功编译了它。但是,当我运行时,它给了我一个错误:
Exception in thread "main" org.postgresql.util.PSQLException: ERROR: syntax error at or near "\"
Position: 1
这表明我运行的查询是错误的:
字符串查询为:
String query ="\\COPY tmp from 'E:\\load.csv' delimiter ',';";
对于该查询,System.out.println
的输出为:query string: \COPY tmp from 'E:\load.csv' delimiter ',';
我在 PostgresSQL 客户端运行查询:\COPY tmp from 'E:\load.csv' delimiter ',';
,它可以正常工作。发生了什么?Class.forName (driver);
conn = DriverManager.getConnection(host+dbname,user,password);
stmt = (java.sql.Statement) conn.createStatement();
//
PreparedStatement prepareUpdater = null;
conn.setAutoCommit(false);
String query ="\\COPY tmp from 'E:\\load.csv' delimiter ',';";
System.out.print("query string: "+query);
System.out.println("Query:"+query);
prepareUpdater = conn.prepareStatement(query);
prepareUpdater.executeUpdate();
prepareUpdater.close();