sql >> データベース >  >> RDS >> PostgreSQL

コピーPostgresjdbcを使用する正しい方法

    これは私にとってはうまくいきます:

    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サーバーが実行されているマシンに対してローカルではないためです。



    1. 'PDOException'構文エラーまたはアクセス違反:1064SQL構文にエラーがあります。小切手

    2. SSIS2008を使用してExcelをSQLにインポートするときに行をスキップする

    3. WHERE句を使用したPostgreSQLアップサート

    4. JavaFXで、テーブルビューのデータを使用してコンボボックスを追加する方法