2010-07-15 2 views
0

Попытка переключиться на SQLNCLI, поэтому я могу использовать поля varchar (max) в моем приложении ASP. Никакие записи не возвращаются из запроса, который отлично работал в 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

ответ

0

Оказывается, мне нужно было установить поставщик SQLCNI на сервере; фактическая ошибка, которая была замаскирована видимым пустым набором записей, фактически была «поставщиком не найдена».

1

SET NO COUNT ON Попробуйте добавить к вершине usp_tutors_active_select. Кажется, я помню эту проблему раньше.

+0

Хм, может быть, не на самом деле. Я помню, что это вызывало некоторые проблемы с ADO, но, возможно, и не это. Это обсуждение может иметь значение. http://www.eggheadcafe.com/software/aspnet/31753706/transactions-in-sql-serve.aspx Я бы, вероятно, использовал SQL Profiler для исследования - захват столбца счетчика строк. –

 Смежные вопросы

  • Нет связанных вопросов^_^