odbc не может получить параметр, когда я использую sp с select - PullRequest
0 голосов
/ 11 марта 2019
CREATE PROCEDURE [dbo].[USP_STRESS_TEST]
    @o_str varchar(max) output,
    @o_wstr nvarchar(max) output
    SELECT 'abc' as c_wstr, 'bcd' as c_str;
AS
BEGIN
    SET NOCOUNT ON;
    SET @o_str = 'abc';
    SET @o_wstr = 'edf';
END

C ++ я могу получить значения по odbc, но если я использую select, я не смогу получить значения

CREATE PROCEDURE [dbo].[USP_STRESS_TEST]
    @o_str varchar(max) output,
    @o_wstr nvarchar(max) output
AS
BEGIN
    SET NOCOUNT ON;
    SET @o_str = 'abc';
    SET @o_wstr = 'edf';
    ***SELECT 'abc' as c_wstr, 'bcd' as c_str;***
END

Я не знаю почему. выполнить успешно, но буфер пуст

char* temp = new char[MAX_SQL_CHAR_LEN];
    memset(temp, 0, MAX_SQL_CHAR_LEN * sizeof(char));

    SQLLEN cbValue = SQL_NTSL;
    SQLRETURN result = ::SQLBindParameter(hstmt_, paramIdx_, SQL_PARAM_OUTPUT, SQL_C_CHAR, SQL_VARCHAR
        , MAX_SQL_CHAR_LEN, 0, temp, MAX_SQL_CHAR_LEN * sizeof(char), &cbValue);

вот код с ++

Возврат данных с использованием наборов результатов и возврат данных с использованием выходного параметра используя оба случая

...