sql >> データベース >  >> RDS >> Sqlserver

varchar(max) を返すストアド プロシージャからの出力パラメータを 4000 文字に切り詰める

    接続文字列に関するあなたの仮定は的を射ています

    VARCHAR(MAX) をサポートするには、SQLOLEDB.1 の代わりに SQL Server Native Client を使用する必要があります。 および NVARCHAR(MAX) それ以外のデータ型は、SQLOLEDB に相当するものに切り捨てられます。

    次に、次のパラメーター定義を使用する必要があります

    'For varchar(max) OUTPUT use;
    Call cmd.Parameters.Append(cmd.CreateParameter("@detail", adLongVarChar, adParamOutput, -1, strDetail))
    
    'For nvarchar(max) OUTPUT use;
    Call cmd.Parameters.Append(cmd.CreateParameter("@detail", adLongVarWChar, adParamOutput, -1, strDetail))
    
    '** Constants **
    ' adLongVarChar = 201
    ' adLongVarWChar = 203
    ' adParamOutput = 2
    



    1. NullPointerException-データベースからデータを取得して配列に格納する際のデータベースロックの問題

    2. Knex.jsは、次の4つのクエリでセッションの再利用を強制します

    3. スクリプトがログインしません

    4. TIMESTAMP 列を更新して null 可能にする