经典ASP SQLNCLI连接字符串返回可与SQLOLEDB一起正常工作的空记录集

问题描述:

试图切换到SQLNCLI,以便我可以在我的ASP应用程序中使用varchar(max)字段。在SQLOLEDB下正常工作的查询没有返回记录。经典ASP SQLNCLI连接字符串返回可与SQLOLEDB一起正常工作的空记录集

连接字符串打开如下:

ConnStr="Provider=SQLNCLI10;Server=129.118.139.78,8888;Server=UWCTest;Uid=user;Pwd=pass;DataTypeCompatibility=80;MARS Connection=true;" 
oConn.Open connStr 

和代码来获取记录如下:

sSQL="usp_tutors_active_select" 

Set dbCommand = Server.CreateObject("ADODB.Command")  
Set dbCommand.ActiveConnection = oConn 
dbCommand.CommandType = adCmdStoredProc 
dbCommand.Commandtext=sSQL 


set oRST=dbCommand.Execute 

Response.Write orst("firstname") 
do while not datacommand1.EOF 
    Response.Write "<option value=" & orst("firstname") & ">" & orst("firstname") 

    orst.MoveNext 
loop 
+0

orst.RecordCount在两种情况下都说了什么?改变提供商应该没有区别 – gbn 2010-07-16 17:01:35

原来我需要在服务器上安装SQLCNI提供程序;被明显空白的记录掩盖的实际错误实际上是一个“未找到提供者”。

尝试增加SET NO COUNT ONusp_tutors_active_select顶部。我似乎记得之前有过这个问题。

+0

嗯,也许不是真的。我记得它引起了ADO的一些问题,但也许不是这样。这个讨论可能是相关的。 http://www.eggheadcafe.com/software/aspnet/31753706/transactions-in-sql-serve.aspx我可能会使用SQL事件探查器来调查 - 捕获行数列。 – 2010-07-18 00:39:51