如何在 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;