jdbc Postgresでcopyコマンドを使用することができません。以下のコードスニペットサンプルで何が間違っていますか。copyを使用する正しい方法Postgres jdbc
public boolean loadReportToDB(String date) {
// TODO Auto-generated method stub
Connection connection = DBUtil.getConnection("POSTGRESS");
String fileName = "C:/_0STUFF/NSE_DATA/nseoi_" + date + ".csv";
String sql = "\\copy fno_oi FROM 'C:\\_0STUFF\\NSE_DATA\\nseoi_27102017.csv' DELIMITER ',' CSV header";
try {
PreparedStatement ps = connection.prepareStatement(sql);
System.out.println("query"+ps.toString());
int rowsaffected = ps.executeUpdate();
System.out.println("INT+" + rowsaffected);
return true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
org.postgresql.util.PSQLException: ERROR: syntax error at or near "\"
Position: 1
at org.
我々は
String sql = "copy fno_oi FROM 'C:\\_0STUFF\\NSE_DATA\\nseoi_27102017.csv' DELIMITER ',' CSV header";
を使用する場合は、入力ファイルが格納されている通り、その後何の行は
Postgresのバージョンのpostgresql-10.0から1-Windowsのx64の
コピーステートメントの\\ inは必要ありません。そしてあなたが得ているエラーは何ですか? – fvu
ファイル 'C:\\ _ 0STUFF \\ NSE_DATA \\ nseoi_27102017.csv'はサーバ上に存在しますか?手動で文をテストすると、読み込まれますか? – fvu
postgres-#\ copy fno_oi FROM 'C:\ _ 0STUFF \ NSE_DATA \ nSEOI_27102017.csv' DELIMITER '、' CSV header COPY 212 –