sql-server - 如何在 SQL Server 中调用 sp_prepexecrpc?
问题描述
我目前正在尝试通过 ODBC 在 SQL Server 中调用。我尝试执行如下查询:
Declare @Out int;
EXEC @Out output,
N'@myNumber int',
N'EXEC OdbcOneParameterProcedure @myNumber',
@myNumber = 0;
EXEC @Out;
和
DECLARE @Out int;
EXEC @Out OUTPUT,
N'OdbcOneParameterProcedure',
@myNumber = 0;
SELECT @Out
但我所看到的只是它在 Wireshark 的数据包跟踪中作为 SQL Batch 在 SQL Server 中被调用。我还应该尝试什么?
解决方案
我想通了,解决这个问题的一种方法是使用 PDO 通过 PHP 连接器到 ODBC 执行 StoredProcedure
$odbcDataSource = 'dataSource';
$user = 'userName';
$password = 'userPassword';
$call = "{CALL OdbcOneParameterProcedure( ? )}";
$connection = new PDO($odbcDataSource, $user, $password);
if (!$connection) {
echo 'Connection failed' . odbc_errormsg();
} else {
echo 'Connected';
$param = 0;
$statement = $connection->prepare($call);
$statement->bindParam(1, $param, PDO::PARAM_INT);
$statement->execute();
// dump result to quickly verify correctness of query
$result = $statement->fetchAll();
var_dump($result);
}
$connection = null;
推荐阅读
- sql - 如何根据两列的值组合获取唯一行
- outlook-restapi - 使用 Outlook Rest api 获取附件时出现“消息超出支持的最大大小”
- c++ - boost::this_thread::sleep_for 在使用 pthread 和系统时间向后滚动时可能会挂起
- angular - Angular/SVG - 在页面加载时捕获元素宽度
- postgresql - 我正在尝试加载 osm pbf 文件,但它给出了提示:没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换
- libgit2 - 我该如何做 git for-each-ref --points-at SHA?
- javascript - 检测 iframe 内的浏览器重新加载
- ios - Swift - 单击按钮更改 UIPageViewController 视图
- javascript - React 组件不会在道具更改时重新渲染
- html - IE11上的溢出滚动问题