ODBC, Recordset

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

ODBC, Recordset

Сообщение KPEATOP » 11.11.2009 (Ср) 8:34

База данных не моя, я к ней подключаюсь. Они мне делают процедуру (например up_gaz_smes), при помощи которой я считываю необходимые данные.

Set gwsMainWS = CreateWorkspace("ODBCWorkspace", "admin", vbNullString)
Set db = gwsMainWS.OpenDatabase("", 0, 0, sConnect)
Set qdfTemp = db.CreateQueryDef("")
qdfTemp.Connect = sConnect
qdfTemp.SQL = "up_gaz_smes 3244"
Set rstTemp = qdfTemp.OpenRecordset()

Процедура up_gaz_smes то работает, то не работает. Т.е. Set rstTemp = qdfTemp.OpenRecordset() то проходит, то нет (Выдает ошибку № 3146 "ODBC--call failed"). Не пойму почему так. Для примера, другая процедура qdfTemp.SQL = "up_kwd_kwu 3244,1702,'23.09.2009'" работает всегда
Вечность пахнет нефтью

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: ODBC, Recordset

Сообщение alibek » 11.11.2009 (Ср) 9:06

Сравни код двух процедур и исправь up_gaz_smes.
Для MSSQL я бы сказал, что возможно дело в NOCOUNT.
Lasciate ogni speranza, voi ch'entrate.

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: ODBC, Recordset

Сообщение KPEATOP » 11.11.2009 (Ср) 10:35

как я сравню коды процедур? Их не я делаю. Я их только вызываю. Процедура up_gaz_smes вызывается с одним параметром и работает не постоянно. То работате, то нет. Процедура up_kwd_kwu вызывается с тремя параметрами и работает всегда. Я не пойму почему процедура up_gaz_smes не всегда работает. Я бы сказал , что чаще не работает. И еще, может это как то подскажет: я спрасил у того, кто эти процедуры делал. Он сказал, что у таблицы rstTemp, которая вызывается процедурой up_gaz_smes (которая не работает), 4 курсора. А у таблицы, вызываемой процедурой up_kwd_kwu (которая нормально работает), 1 курсор. Может из-за курсоров что то не так ?
Вечность пахнет нефтью

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: ODBC, Recordset

Сообщение alibek » 11.11.2009 (Ср) 11:34

Значит скажи тем, кто делает, чтобы сравнили.
Можешь еще попробовать использовать ADO, оно получше все-таки работает.
Lasciate ogni speranza, voi ch'entrate.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: ODBC, Recordset

Сообщение alibek » 11.11.2009 (Ср) 11:35

KPEATOP писал(а):Он сказал, что у таблицы rstTemp, которая вызывается процедурой up_gaz_smes (которая не работает), 4 курсора. А у таблицы, вызываемой процедурой up_kwd_kwu (которая нормально работает), 1 курсор. Может из-за курсоров что то не так ?

Значит скажи разработчику процедуры, чтобы оставил один возвращаемый набор.
Либо у себя выбирай нужный через NextRecordset (в ADO).
Lasciate ogni speranza, voi ch'entrate.

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: ODBC, Recordset

Сообщение KPEATOP » 11.11.2009 (Ср) 13:10

alibek писал(а):Можешь еще попробовать использовать ADO, оно получше все-таки работает.


Я ADO никогда не использовал, не знаю как. Может подскажете каким нибудь примерчиком как через ADO использовать процедуру up_gaz_smes ?
Буду очень признателен.
Вечность пахнет нефтью

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: ODBC, Recordset

Сообщение alibek » 11.11.2009 (Ср) 14:30

Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: ODBC, Recordset

Сообщение Andrey Fedorov » 26.11.2009 (Чт) 9:58

KPEATOP писал(а):
alibek писал(а):Можешь еще попробовать использовать ADO, оно получше все-таки работает.

Я ADO никогда не использовал, не знаю как. Может подскажете каким нибудь примерчиком как через ADO использовать процедуру up_gaz_smes ?
Буду очень признателен.


Что через ADO, что через DAO - смотрите Help по слову Execute.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 31

    TopList