点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我想使用Sql Server中的过程读取SAP bydesign系统中的odata。
PS:我们正在使用SQL Server 2008
1。我测试了odata的网址,该网址是: https://my336304.sapbydesign.com/sap/byd/odata/cust/v1/khmaterial/MaterialCollection?$filter=InternalID eq'1001'&$ expand = MaterialQuantityConversion&$ format = json
它需要用户名和密码,我使用的是Weiming.wang和********
运行正常,结果在图片下方。
2。现在我在sql server中获得了脚本,下面是脚本:
使用[hb] 走 /******对象:StoredProcedure [dbo]。[proc_CallWebService_odata]脚本日期:05/18/2018 08:38:55 ******/ 设置ANSI_NULLS ON 走 将QUOTED_IDENTIFIER设置为ON 走 ALTER过程[dbo]。[proc_CallWebService_odata] 如 开始 声明@obj int 声明@url varchar(200) 声明@response varchar(5000) 宣告@hResult int 声明@source varchar(255),@ desc varchar(255) 宣告@UserName nvarchar(100) 声明@Password nvarchar(100) SET @UserName ='weiming.wang' SET @Password ='********' 设置@url ='https://my336304.sapbydesign.com/sap/byd/odata/cust/v1/khmaterial/MaterialCollection?$filter=InternalID eq``1001''&$ expand = MaterialQuantityConversion&$ format = json' exec sp_OACreate'MSXML2.ServerXMLHttp',@ obj出来 EXEC sp_OAMethod @Obj,'打开',NULL,'GET',@URL,假,@用户名,@密码 EXEC sp_OAMethod @ Obj,'setRequestHeader',NULL,'Content-Type','application/x-www-form-urlencoded' exec sp_OAMethod @ obj,'setRequestHeader',NULL,'用户名','weiming.wang' exec sp_OAMethod @ obj,'setRequestHeader',NULL,'Password','********' 选择@url EXEC @hResult = sp_OAMethod @Obj,发送,NULL,'' 如果@hResult <> 0 开始 EXEC sp_OAGetErrorInfo @ obj,@ source OUT,@ desc OUT 选择hResult = convert(varbinary(4),@hResult), 来源= @来源, 描述= @desc, FailPoint ='创建失败2', MedthodName ='GET' 转到销毁 返回 结束 exec sp_OAGetProperty @ obj,'responseText',@响应出来 选择@response [响应] 破坏: exec sp_OADestroy @obj 结束
3。问题:运行该程序时,它引发错误" 0x80072F0C需要证书才能完成客户端身份验证",任何人都可以帮助检查该问题,我需要调整哪一步?
4。非常感谢。
当我使用sql server调用Bydesign Web服务时,它提出了同样的问题,我很疯狂。
最好的问候
Benny Huang
(45.3 kB)
嗨,本尼,
不幸的是,我无法帮助您解决有关SQL Server的问题。 但是,您的OData请求正在您的浏览器中运行,因此这不是我们可以在ByD中解决的问题。 因此,我认为,Microsoft论坛将是对您有关sql脚本问题的合格答案的更好的地方。
最好的问候,
克努特
一周热门 更多>