You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows PowerShell加载本地数据至Snowflake默认表阶段时遇文件不存在错误

问题描述

尝试通过Windows PowerShell使用Snowsql的PUT命令将本地CSV文件加载至Snowflake默认表阶段,已知Windows环境下语法为:

PUT 'file://<file_path>' @%<my_table>

已尝试以下两种写法及变体:

  • a)
PUT 'file://C:\Users\asus pc\Downloads\Slate_data_files\Transactions_date_modified.csv' @%Transactions
  • b)
PUT 'file://C:\Users\asus pc\Downloads\Slate_data_files\Transactions_date_modified.csv' @%Transactions AUTO COMPRESS= True OVERWRITE = True;

但始终报错:

253006 (n/a): File doesn't exist: ['C:Usersasus pcDownloadsSlate_data_filesTransactions_date_modified.csv']

此前曾在Snowsight加载S3桶数据时因日期格式问题未完全加载,修改本地CSV日期格式后改用Snowsql,确认文件路径正确且文件存在,但问题未解决。

问题原因

错误信息中的路径丢失了所有反斜杠分隔符,这是因为在Snowsql的字符串中,单个反斜杠\会被当作转义字符处理,导致路径中的分隔符被忽略,系统无法识别正确的文件路径。

解决方案

可以通过以下两种方式修正路径格式:

1. 使用双反斜杠转义分隔符

将路径中的单个反斜杠替换为双反斜杠,确保Snowsql正确解析路径:

PUT 'file://C:\\Users\\asus pc\\Downloads\\Slate_data_files\\Transactions_date_modified.csv' @%Transactions AUTO COMPRESS=True OVERWRITE=True;

2. 使用正斜杠代替反斜杠

Windows系统支持正斜杠作为路径分隔符,且Snowsql可以直接解析,这种方式更简洁:

PUT 'file://C:/Users/asus pc/Downloads/Slate_data_files/Transactions_date_modified.csv' @%Transactions AUTO COMPRESS=True OVERWRITE=True;
额外注意事项
  • 确保在PowerShell中执行命令时,路径中的空格不需要额外转义,因为已经用单引号包裹了路径字符串。
  • 确认当前Snowsql会话已连接到目标Snowflake数据库和模式,且对目标表Transactions有足够的权限。

内容的提问来源于stack exchange,提问作者new_to_code

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 20:23:26