¿Por qué obtengo el proveedor de datos u otro servicio que devuelve un estado E_FAIL? SQL Native Client

Estoy cambiando nuestro código ASP para usar SQL Native Client para que podamos conectarnos a una base de datos reflejada con un socio de conmutación por error, ya que solo puede proporcionar los parámetros del socio de conmutación por error en SQL Native Client. Cuando ejecuto un proc que devuelve una columna nvarchar (max) con Driver = {SQL Server}, todo funciona bien. Cuando ejecuto procs que devuelven columnas pequeñas con Driver = {SQL Server Native Client 10.0} que funciona bien. Solo cuando intento ejecutar un proceso que devuelve una columna nvarchar (max) mientras uso Driver = {SQL Server Native Client 10.0}; que me sale el error. El error ocurre tan pronto como nos pegamos

<code>rs.Open cmdTemplate
</code>

Así que ni siquiera me refiero a la columna. Configurando la cadena de conexión de esta manera:

<code>if bUseSQLNative then
        connString = "Driver={SQL Server Native Client 10.0}; Network=DBMSSOCN; server=" & rs("SERVER_NAME") & "," & rs("PORT_NUM") & ";database=" & rs("DATABASE_NAME")
        connString = connString & ";uid=" & rs("USER_NAME") & ";pwd=" & UnProtectValueEx(ConnSaltForDBPwd(), rs("CONNECTION_NAME"), rs("PASSWORD"))
    else
        connString = "Driver={SQL Server}; Network=DBMSSOCN; server=" & rs("SERVER_NAME") & "," & rs("PORT_NUM") & ";database=" & rs("DATABASE_NAME")
        connString = connString & ";uid=" & rs("USER_NAME") & ";password=" & UnProtectValueEx(ConnSaltForDBPwd(), rs("CONNECTION_NAME"), rs("PASSWORD"))
    end if 
    connString = connString & ";"
</code>

Y abriendo así:

<code>set rs = server.CreateObject("ADODB.RecordSet")
rs.CursorLocation = 3
rs.CursorType = 3
rs.CacheSize = 50

on error resume next
    rs.Open cmdTemplate
</code>

El error es: Microsoft Cursor Engine (0x800A0001) El proveedor de datos u otro servicio devolvió un estado E_FAIL.

Respuestas a la pregunta(3)

Su respuesta a la pregunta