json - 从 ADF 到 SQL 存储过程的 Json 输入参数
问题描述
在 ADF 中,我试图将 JSON 变量传递给 azure sql 存储过程。json值如下。
输入
{
"storedProcedureName": "[dbo].[SP_INSERT_BLOBFILELIST]",
"storedProcedureParameters": {
"BlobFileName": {
"value": [
{
"itemName": "fileone_20211103055924081.zip",
"lastModified": "2021-11-03T09:59:30Z",
"size": 77894,
"effectiveIntegrationRuntime": "DefaultIntegrationRuntime (East US 2)",
"executionDuration": 0,
"durationInQueue": {
"integrationRuntimeQueue": 1
},
"billingReference": {
"activityType": "PipelineActivity",
"billableDuration": [
{
"meterType": "AzureIR",
"duration": 0.016666666666666666,
"unit": "Hours"
}
]
}
},
{
"itemName": "filetwo_20211104050042529.zip",
"lastModified": "2021-11-04T09:01:15Z",
"size": 77893,
我的存储过程如下。
alter procedure dbo.SP_INSERT_BLOBFILELIST (@BlobFileName nVarchar(max))
as
begin
INsert into dbo.BlobFileList
select getdate(),* From openjson(@BlobFileName,N'$.value')
with (itemName varchar(500) N'$.itemName',
lastModified datetime N'$.lastModified')
end
ADF 显示错误“对 sql server 执行失败。Sql 错误号:13609。错误消息:JSON 文本格式不正确。在位置 0 发现意外字符 'S'。”
任何人都可以请帮忙。
解决方案
推荐阅读
- rest - 如何将参数传递给 MiddlewareFunc?
- java - 在运行时将资源放在类路径上
- vhdl - 带有进位和测试台的 VHDL 8 位加法器
- java - 将 sprig 连接到 kafka 开始使用 docker compose 进行 localhost 开发
- go - 如何在 Go 中创建使用 TLS 客户端身份验证的测试服务器?
- javascript - 在容器中定位项目
- c++ - 计算向量中单词的出现并列出列表中的单词,C++
- list - 如何将多个列表合并为一个列表?镖
- python - 从 scikit-learn 设计矩阵中提取特征和级别的名称
- unity3d - 与纺车碰撞时敌人不会旋转