यह मेरे लिए काम करता है:
try (Connection conn = DriverManager.getConnection(connUrl, myUid, myPwd)) {
long rowsInserted = new CopyManager((BaseConnection) conn)
.copyIn(
"COPY table1 FROM STDIN (FORMAT csv, HEADER)",
new BufferedReader(new FileReader("C:/Users/gord/Desktop/testdata.csv"))
);
System.out.printf("%d row(s) inserted%n", rowsInserted);
}
copyIn(String sql, Reader from)
. का उपयोग करना उन मुद्दों से बचने का लाभ है जहां PostgreSQL सर्वर प्रक्रिया फ़ाइल को सीधे पढ़ने में असमर्थ है, या तो क्योंकि इसमें अनुमतियों की कमी है (जैसे मेरे डेस्कटॉप पर फ़ाइलें पढ़ना) या क्योंकि फ़ाइल उस मशीन के लिए स्थानीय नहीं है जहां PostgreSQL सर्वर चल रहा है।पी>