sql >> Databasteknik >  >> RDS >> Sqlserver

Returnerar varchar(max) Output-parameter från trunkering av lagrad procedur till 4000 tecken

Ditt antagande om anslutningssträngen är perfekt

Du måste använda SQL Server Native Client istället för SQLOLEDB.1 för att stödja VARCHAR(MAX) och NVARCHAR(MAX) datatyper annars kommer de att trunkeras tillbaka till sina SQLOLEDB-ekvivalenter.

Du vill då använda följande parameterdefinitioner

'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. hämta namn från kommaseparerade ID i SQL

  2. PHP-skript för att fylla i MySQL-tabeller

  3. Åsidosätt namnet på den främmande nyckeln med anslutet arv med JPA/Hibernate

  4. Främmande nyckel till ett av många bord?