質問: cmd.ExecuteReader(); //例外処理 catch (Exception e) { Console.Write("エラーが発生しました。"); } finally { // DB接続解除。 conn.Close(); Console.WriteLine("DB接続を解除しました。"); } } } } ``` ### 試したこと 「相対パスはファイルにコピーできない」というエラーが出ていたので、出力先のフォルダを色々と変更してみましたが、結果は変わりませんでした。 ### 補足情報(FW/ツールのバージョンなど) Visual Studio 2017 V15.9.5 Postgres9.6
回答: エラーメッセージでググるといろいろヒットしますがやってみましたか? ヒットした最初の記事、 PostgreSQL-COPYコマンドでデータをエクスポート を見ると、「フルパスでPostgreSQLのdataディレクトリを指定しないといけないらしい」ということのようです。 > > COPY user TO 'C:\temp\user.csv' WITH CSV DELIMITER > > > で C ドライブの任意のフォルダにファイルが作れるということはなさそうです。 **【追伸】** C:\temp フォルダに作成したいなら、一旦 DataTable にレコードを取得し、DataTable から csv ファイルを作るアプリを作成してははいかがですか? csv ファイルを作成したいフォルダ(今回のケースでは C:\temp)にアクセス権を持つアカウントでアプリを起動し(アドミ権限があれば問題ないはず)、それで作業すれば良いと思います。 DataTable から csv ファイルを作る方法はググると多々出てきますのでそれを見てください。