2016-07-20 11 views
2

が、私は自分のローカルコンピュータからPostgreSQLデータベースへのファイルをアップロードしようとしていないよ、私が手にエラーがある:私がしようとしているPythonはSQLにCSVをODO - そのようなファイルやディレクトリ

sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not open file "C:\Mar-2015.csv" for reading: No such file or directory 

コマンド

pcon = 'postgresql://user:[email protected]:5432/dbname::tablename' 
path = os.path.normpath(
     'C:/Mar-2015.csv')) 
o.odo(path, pcon, sep='|') 

PostgreSQLがローカルマシンではなくリモートサーバ上でファイルを検索しようとしているようです。サーバー上でスクリプトを実行する(そしてサーバー上の場所へのファイルパスを変更する)ことはうまく動作し、私の疑惑を確認するようです。

odoを使用してローカルマシンからリモートPostgreSQLマシンにファイルをアップロードすることはできますか?私はAmazon RDSを使用しています。

答えて

1

odoを使用して、PostgreSQLデータベースにCSVをロードするのにDockerコンテナ内に同様の問題が発生しました。そうだと、odoはPostgreSQLデータベースのホストでファイルを探します。私は、この作業をクライアントとサーバーコンテナの同じパスにマウントするように管理しました。あなたのサーバーにファイルをアップロードするscpを使用することができますし、Pythonスクリプトを実行している、あなたはその後、いつものように、スクリプトを実行している

scp /path/to/local/file [email protected]:/path/to/server/file

サーバーへのSSHアクセスをする必要がありますあなたの問題を解決するために

+0

同じ問題がありますが、リモートマシンのパスがローカルマシンのパスと一致する必要があります。そうしないと、失敗します。あなたは解決策を見つけましたか? – nanounanue

関連する問題