Текстовый столбец SQL Server влияет на результаты, возвращаемые в классический ASP
Используя классический asp, я пытаюсь запросить базу данных SQL Server следующим образом:
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
Столбец_3 - это тип NText, остальные столбцы имеют тип varchar или int (иногда может быть возвращено более 4 столбцов), но запрос возвращает только 1 запись из-за предложения where.
На странице ASP результаты различаются - иногда заполнены A, B, D, иногда нет - но все столбцы в представлении содержат данные (когда я запрашиваю SQL Server, я вижу ожидаемые результаты - все столбцы содержат данные). Если я удаляю column_3, который является NText из strSQL, все работает нормально.
Я видел такое поведение на нескольких других страницах в прошлом. Если я изменю ASP, чтобы получить column_3 отдельно:
strSQL = "select column_3 from someview where RecordNo=" & i
Данные NText возвращаются правильно.
Существует ли максимальная длина записи для набора записей SQL Server, возвращаемого в классический ASP? Помимо разделения NTEXT на отдельный запрос, я могу еще что-нибудь сделать?
РЕДАКТИРОВАТЬ: Мне пришло в голову, чтобы попытаться изменить строку подключения - вдохновленный этимпрокомментировать похожую проблему - соединение осуществляется через драйвер ODBC для SQL Server (Driver = {SQL Server};).