[英]Calling stored procedures in Laravel 5.5 using SQL Server with output
[英]Laravel and stored procedures SQL
我有一个客户端制作的存储过程。 现在,我必须访问它并在laravel应用中处理数据。
我没有连接到SQL的问题,但是问题在传入参数时开始。
这是我的代码:
$connections = DB::connection('sqlsrv')
->select(EXEC [stored].[procedure].[here] $param1, $param2);
我得到的错误是:查询的活动结果不包含任何字段
我在论坛上搜索了许多小时,以下是我发现的内容:
$connections = DB::connection('sqlsrv')
->select(DB::raw('EXEC [stored].[procedure].[here] $param1, $param2'));
我得到的错误是:查询的活动结果不包含任何字段。
我已经安装了SQL驱动程序和OBDC驱动程序。
任何帮助将非常感激
不知道这是否有帮助,但是这个答案建议您将DB :: raw放在参数周围,而不是EXEC stored.proc.name
。
所以代替
$connections = DB::connection('sqlsrv')->select(DB::raw('EXEC [stored].[procedure].[here] $param1, $param2'));
尝试
$connections = DB::connection('sqlsrv')->select('EXEC stored.proc.name' . DB::raw($param1, $param2));
好。 所以我找出了问题所在。
事实证明,客户端通过xml发送了一个变量给我。 据我从Microsoft文档中了解到的那样,您不能t pass xml as a varable because if you call the SP from an application it is gonna pass it as an array and application can
直接将xml解析为数组。 您必须自己做。
相反,可以做的是将xml作为数组的值传递,然后从那里获取它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.