我尝试从本地计算机上载文件到PostgreSQL数据库,得到的错误是:
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not open file "C:\Mar-2015.csv" for reading: No such file or directory我尝试运行的命令是:
pcon = 'postgresql://user:password@ipaddress:5432/dbname::tablename'
path = os.path.normpath(
'C:/Mar-2015.csv'))
o.odo(path, pcon, sep='|')看起来PostgreSQL正在尝试在远程服务器上而不是在本地计算机上查找该文件。在服务器上运行脚本(并将文件路径更改为服务器上的某个位置)运行正常,这似乎证实了我的怀疑。
是否可以使用odo将文件从我的本地计算机上传到远程PostgreSQL计算机?我正在使用Amazon RDS。
发布于 2017-04-26 15:09:06
我也遇到过类似的问题,使用odo将CSV加载到PostgreSQL数据库中,但在Docker容器中。您说得对,odo在PostgreSQL数据库的主机中查找该文件。我设法将文件夹挂载到客户端和服务器容器中的相同路径中。
要解决您的问题,您可以使用scp将文件上传到您的服务器,然后运行Python脚本,您将需要对服务器的访问权限
scp /path/to/local/file username@remote:/path/to/server/file
然后像往常一样运行脚本。
https://stackoverflow.com/questions/38475305
复制相似问题