La columna de texto de SQL Server afecta los resultados devueltos a ASP clásico

Usando asp clásico, estoy tratando de consultar una base de datos de SQL Server así:

strSQL = "select column_1, column_2, column_3, column_4  from someview " &_
         "where RecordNo=" & i
set rs=conn.Execute(strSQL)

if not rs.eof then
    A = rs("column_1")
    B = rs("column_2")
    C = rs("column_3")
    D = rs("column_4")
end if

Column_3 es un tipo NText, las otras columnas son varchar o int (a veces pueden devolverse más de 4 columnas) pero la consulta solo devuelve 1 registro debido a la cláusula where.

En la página ASP los resultados varían (a veces, A, B, D se rellenan, a veces no), pero todas las columnas de la vista contienen datos (cuando pregunto en el servidor SQL, veo los resultados esperados, todas las columnas contienen datos). Si elimino column_3, que es NText del strSQL, todo funciona bien.

He visto este comportamiento en un par de otras páginas en el pasado. Si modifico el ASP para obtener column_3 por separado:

 strSQL = "select column_3 from someview where RecordNo=" & i

Los datos de NText se devuelven correctamente.

¿Hay una longitud de registro máxima para un conjunto de registros de SQL Server devuelto a ASP clásico? Aparte de dividir el NTEXT en una consulta separada, ¿hay algo más que pueda hacer?

EDITAR: Solo se me ocurrió intentar cambiar la cadena de conexión, inspirada en estocomenta sobre un problema similar - la conexión es a través del controlador ODBC de SQL Server (Driver = {SQL Server};).

Respuestas a la pregunta(4)

Su respuesta a la pregunta