如何在 SQL 服务器中调用 sp_prepexecrpc?
How can I invoke sp_prepexecrpc in SQL Server?
我目前正在尝试通过 ODBC 在 SQL 服务器中调用。我尝试执行如下查询:
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
但我所看到的只是它在 SQL 服务器中作为 SQL 批处理在 Wireshark 的数据包跟踪中调用。我还应该尝试什么?
我想通了,解决这个问题的一种方法是使用 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;
我目前正在尝试通过 ODBC 在 SQL 服务器中调用。我尝试执行如下查询:
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
但我所看到的只是它在 SQL 服务器中作为 SQL 批处理在 Wireshark 的数据包跟踪中调用。我还应该尝试什么?
我想通了,解决这个问题的一种方法是使用 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;