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

使用SQL Server 2022的OPENROWSET查询Amazon S3文件报错排查

问题定位与解决方法

核心问题:外部数据源LOCATION格式错误

你的CREATE EXTERNAL DATA SOURCE语句中,LOCATION的写法不符合SQL Server对接Amazon S3的规范。SQL Server要求S3数据源的LOCATION直接使用s3://<bucket-name>格式,无需额外拼接s3.amazonaws.com域名。

修正后的SQL代码

CREATE DATABASE SCOPED CREDENTIAL s3_dc
WITH IDENTITY = 'S3 Access Key',
SECRET = 'AccessKey:SecretKey';

CREATE EXTERNAL DATA SOURCE s3_ds
WITH
(
    LOCATION = 's3://sqlexternaltabletest'
,   CREDENTIAL = s3_dc
);
GO

SELECT *
FROM OPENROWSET
(
    BULK '/parquet_folder/1936a792b4f94a9283e8f22354171fd7-0.parquet'
,   FORMAT       = 'PARQUET'
,   DATA_SOURCE  = 's3_ds'
) AS [cc];

额外验证要点

  • 确认密钥权限:确保你的AWS Access Key拥有该S3存储桶的s3:GetObject权限(上传操作仅需要s3:PutObject,查询需要读取权限)
  • 核对文件路径:BULK子句中的路径是相对于数据源LOCATION的,当前写法/parquet_folder/xxx.parquet是正确的,对应S3上的s3://sqlexternaltabletest/parquet_folder/xxx.parquet路径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 08:59:59