【问题标题】:I am trying to copy a file, but getting error message我正在尝试复制文件,但收到错误消息
【发布时间】:2019-05-30 14:30:54
【问题描述】:

我是 postgres 的新手,可能错过了一些愚蠢的东西(我的目录的正确名称)。有人可以指导我吗?

我正在遵循 Anthony DeBarros 的 Practical SQL 书籍说明

代码:

复制 us_counties_2010 从 'C:\Users\obella\OneDrive\Desktop\us_counties_2010.csv' 与(格式 CSV,标题);

错误:

错误:无法打开文件 "C:\Users\obella\OneDrive\Desktop\us_counties_2010.csv" 用于阅读: 权限被拒绝 提示:COPY FROM 指示 PostgreSQL 服务器 读取文件的过程。您可能需要一个客户端工具,例如 psql 的 \copy。 SQL 状态:42501

复制 us_counties_2010 从 'C:\Users\obella\OneDrive\Desktop\us_counties_2010.csv' 与(格式 CSV,标题);

预期:

查询成功返回:3143 行受影响

实际:

错误:无法打开文件 "C:\Users\obella\OneDrive\Desktop\us_counties_2010.csv" 用于阅读: 权限被拒绝 提示:COPY FROM 指示 PostgreSQL 服务器 读取文件的过程。您可能需要一个客户端工具,例如 psql 的 \copy。 SQL 状态:42501

【问题讨论】:

  • copy table_name (column1,...) from 'C:\Users\obella\OneDrive\Desktop\us_counties_2010.csv' delimiter ',' csv header;这是你想要的吗?
  • 从错误中我认为你不是在 psql 中运行它?

标签: sql postgresql pgadmin-4


【解决方案1】:

正如消息告诉你的,Postres 不允许读取该文件。

如果您想解决这个问题,请打开任务管理器,然后单击“显示所有用户的进程”。查找图像名称为 postgres.exe 的行(可能不止一个)。记住“用户名”列中的值(可能是NETWORK SERVICE)。打开文件的属性,在“安全”选项卡中添加该用户并授予他们读取权限。

或者按照消息提示使用psql\copy

【讨论】:

    【解决方案2】:

    要做的就是: 通过右键单击该特定文件,转到该特定文件的 Properties。然后,转到显示的属性对话框的 安全 选项卡。点击编辑选项。 权限对话框出现,然后点击添加按钮。在“输入要选择的对象名称”描述框中键入“Everyone”(不带撇号),然后单击确定按钮。然后,确保选中“所有人的权限” 的所有复选框,只需勾选“完全控制” 复选框,以允许不受任何限制的控制访问。然后,ApplyOK 所有选项卡以应用所做的所有更改。

    您现在可以运行/执行查询而不会出现任何错误。

    【讨论】:

    • 这就是我们需要的答案。
    【解决方案3】:
    copy us_counties_2010 (your column name)//(country_code, latitude, longitude, country, population)
     FROM 'D:\us_counties_2010 .csv' DELIMITER ',' csv HEADER
    

    您的 csv 文件不应位于 C 盘。它无法访问您的 C 盘。将它存储在 D 盘或其他任何可以完美运行的地方。

    【讨论】:

      【解决方案4】:

      将数据文件的位置和路径更改为 Drive['D:\us_counties_2010.csv' ] 它将起作用。

      权限被拒绝,因为您的文件 [us_counties_2010.csv] 位于 Windows 驱动器的“C”驱动器 ['C:\Users\obella\OneDrive\Desktop\us_counties_2010.csv'] 中,并且权限受到限制并且可能没有管理权限就不能轻易更改和不可能。

      祝你好运,编程愉快!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-11-10
        • 1970-01-01
        • 2018-07-21
        • 1970-01-01
        • 2015-10-04
        • 2018-03-20
        • 1970-01-01
        相关资源
        最近更新 更多