powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Recordset_KeySet + SQL Server 2005 не работает
10 сообщений из 10, страница 1 из 1
Recordset_KeySet + SQL Server 2005 не работает
    #34454161
Oblom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASP+VB, используется конструкция
Set rs=Recordset_Keyset("SearchRequests",1,3)

Пока был SQL Server 2000 и провайдер SQLOLEDB.1 всё прекрасно работало. Однако после перехода на SQL Server 2005 начали вылетать ошибки Timeout expired на строки кода вроде:

Set rs=Recordset_Keyset("SearchRequests",1,3)
....
rs.Update

Поменяли провайдера на SQLNCLI, который вроде как тоже OLE, но заточен под 2005-ый сиквел. Но теперь уже пошли ошибки вида:
Operation is not allowed when the object is
closed.
на строки кода типа:
Set rs=Recordset_Keyset("SearchRequests",1,3)
....
rs.AddNew

В чем может быть проблема и как бороться с этой ошибкой?
Заранее спасибо за ответ
...
Рейтинг: 0 / 0
Recordset_KeySet + SQL Server 2005 не работает
    #34454967
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код Recordset_Keyset в студию...
...
Рейтинг: 0 / 0
Recordset_KeySet + SQL Server 2005 не работает
    #34455921
Oblom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyКод Recordset_Keyset в студию...
Код: plaintext
1.
2.
3.
4.
5.
	sSQL="SELECT * FROM Mp3Albums WHERE AlbumID ='" & nAlbumID & "'"
    Set rs=Recordset_Keyset(sSQL, 1 , 3 )    
	rs("ArtistsList")=sArtistsList
    rs.Update
    rs.Close
...
Рейтинг: 0 / 0
Recordset_KeySet + SQL Server 2005 не работает
    #34456032
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oblom
Да нет. Код самой процедуры.
...
Рейтинг: 0 / 0
Recordset_KeySet + SQL Server 2005 не работает
    #34456154
Oblom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Function Recordset_Keyset(strSourse,intCursorType,intLockType)
  Err.Clear
  On Error Resume Next
  Set Recordset_Keyset=Server.CreateObject("ADODB.Recordset")
  Recordset_Keyset.ActiveConnection=ConnCurr
  Recordset_Keyset.CursorType=intCursorType
  Recordset_Keyset.LockType=intLockType
  Recordset_Keyset.Source=strSourse
  Recordset_Keyset.Open
  Call HandleErr("Recordset_Keyset",strSourse)
End Function
...
Рейтинг: 0 / 0
Recordset_KeySet + SQL Server 2005 не работает
    #34456207
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OblomПоменяли провайдера на SQLNCLI, который вроде как тоже OLE, но заточен под 2005-ый сиквел. Но теперь уже пошли ошибки вида:
Operation is not allowed when the object is
closed.
на строки кода типа:
Set rs=Recordset_Keyset("SearchRequests",1,3)
....
rs.AddNew

В чем может быть проблема и как бороться с этой ошибкой?Почему это происходит понятно - рекордсет создался, но не открылся из-за какой-то другой ошибки, которая по идее должна писаться куда-то в HandleErr("Recordset_Keyset",strSourse). Смотри там или убери On Error Resume Next.
...
Рейтинг: 0 / 0
Recordset_KeySet + SQL Server 2005 не работает
    #34456370
Oblom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отключил вывод ошибки, действительно вылезла первопричина:
На код
Код: plaintext
1.
2.
Set rs=Recordset_Keyset("SearchRequests", 1 , 3 )    
rs.AddNew
вылезает ошибка
Код: plaintext
1.
The request for procedure 'SearchRequests'
failed because 'SearchRequests' is a table object.	
Получается, что в SQL-2005 в качестве Source курсора можно запихивать только хранимую процедуру, и нельзя таблицу?
...
Рейтинг: 0 / 0
Recordset_KeySet + SQL Server 2005 не работает
    #34456470
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oblom
Получается, что в SQL-2005 в качестве Source курсора можно запихивать только хранимую процедуру, и нельзя таблицу?
А что, в SQL 2000, или скажем в Oracle, можно было???
...
Рейтинг: 0 / 0
Recordset_KeySet + SQL Server 2005 не работает
    #34456493
Oblom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MelkiadesА что, в SQL 2000, или скажем в Oracle, можно было???
Не знаю как в Oracle, а в SQL 2000 работало и не жжужало... Причем и таблицы там были, и запросы... А что, это фундаментальная вещь, что в источник курсора только хранимка пихается? А то я, если честно, в теории VB курсоров не силен
...
Рейтинг: 0 / 0
Recordset_KeySet + SQL Server 2005 не работает
    #34456520
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В источник можно написать любой запрос, напимер select * from SearchRequests.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Recordset_KeySet + SQL Server 2005 не работает
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]