我正在学习如何在Azure Synapse中的Udemy课程的帮助下创建管道。我创建了一个链接服务,连接到我的无服务器SQL池的"master"数据库。连接本身是成功的:
然后,我在管道中创建了一个简单的"脚本活动",它连接到这个链接的服务,然后返回一个查询。
下面是我使用的完整查询(我屏蔽了一些数据):
SELECT
TOP 100 *, result.filename()
FROM
OPENROWSET(
BULK 'https://xxxx.dfs.core.windows.net/taxi/raw/trip_data_green_parquet/year=*/month=*/*.parquet',
FORMAT = 'PARQUET'
)
WITH (
VendorID INT,
lpep_pickup_datetime datetime2(7)
) AS [result]
应该注意的是,当我在管道之外运行上面的查询时,它工作正常。然后我单击"validate"检查错误,没有发现错误:
但当我点击"调试"时失败了:
下面是完整的错误代码:
{
"errorCode": "2011",
"message": "Argument {0} is null or empty.\r\nParameter name: paraKey",
"failureType": "UserError",
"target": "Script1",
"details": []
}
任何帮助都将不胜感激。
我试着运行以下SQL查询,它工作:
SELECT
TOP 10 *
FROM
OPENROWSET(
BULK 'https://xxxx.dfs.core.windows.net/taxi/raw/taxi_zone_without_header.csv',
FORMAT = 'CSV',
PARSER_VERSION = '2.0'
)
WITH(
LocationID SMALLINT 1,
Borough VARCHAR(15) COLLATE Latin1_General_100_CI_AI_SC_UTF8 2,
service_zone VARCHAR(15) COLLATE Latin1_General_100_CI_AI_SC_UTF8 4,
Zone VARCHAR(50) COLLATE Latin1_General_100_CI_AI_SC_UTF8 3
) AS [result]
我不太确定为什么另一个不起作用。
1条答案
按热度按时间3yhwsihp1#
“参数{0}为Null或空。\r\n参数名:段落键”
此错误是因为SQL脚本中没有results.filename()的列名。请尝试在脚本中提供
result.filename() as file_name
。我重现了这个没有别名的文件名()函数,并得到了同样的错误。
SQL脚本: