PgJDBC nepodporuje COPY
přímo, ale dělá to přes CopyManager
API můžete získat z PGConnection
rozhraní java.sql.Connection
vrátil PgJDBC.
Bohužel to nemůžete použít z prostého SQL souboru, kde mícháte COPY
operace s jinými příkazy.
Osobně bych se rozhodl pro psql
ke spuštění .sql
soubory pomocí Ant <exec>
úkol. Tímto způsobem můžete zahrnout COPY
data in-line ve vašich SQL souborech.
Bylo by hezké povolit PgJDBC pro zpracování COPY
, ale není to jednoduché. Je to v podstatě jiný režim protokolu v PostgreSQL a nedává moc smysl používat pro něj obvyklá rozhraní JDBC s připravenými příkazy, spouštěním atd. Můžeme poskytnout execSQLScript
na vlastní PGconnection
ale to by vám moc nepomohlo, protože věci jako Antův <sql>
úkol by to nepoužil. Budete muset napsat vlastní úkol.
Místo toho by PgJDBC muselo do značné míry lhát klientům - když zadalo COPY
režimu po COPY
příkaz, musel by ignorovat specifikaci JDBC a ve skutečnosti nedělat to, co měl v reakci na provedení příkazu JDBC. To by pravděpodobně rozbilo nejrůznější věci.
Takže – prozatím je zdaleka nejjednodušší možností jednoduše spustit psql
příkaz dělat, co chcete.