【发布时间】:2009-11-04 13:17:09
【问题描述】:
使用经典的 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
Column_3 为 NText 类型,其他列为 varchar 或 int(有时可能返回 4 列以上)但由于 where 子句,查询仅返回 1 条记录。
在 ASP 页面上,结果各不相同 - 有时会填充 A、B、D,有时不会 - 但视图中的所有列都包含数据(当我查询 SQL Server 时,我看到了预期的结果 - 所有列都包含数据) .如果我从 strSQL 中删除作为 NText 的 column_3 一切正常。
我过去曾在其他几个页面上看到过这种行为。如果我修改 ASP 以分别获取 column_3:
strSQL = "select column_3 from someview where RecordNo=" & i
正确返回 NText 数据。
返回经典 ASP 的 SQL Server 记录集是否有最大记录长度?除了将 NTEXT 拆分为单独的查询之外,我还能做些什么吗?
编辑:我突然想到尝试更改连接字符串 - 受此 comment on a similar problem 的启发 - 连接是通过 SQL Server ODBC 驱动程序 (Driver={SQL Server};)。
【问题讨论】: