|
Повторное подключение к внешнему источнику данных из 1С | ☑ | ||
---|---|---|---|---|
0
bluekrab
03.11.16
✎
12:32
|
Добрый день. Делаю подключение к файлу .GDB из 1с. Первое подключение проходит нормально. При повторном появляется ошибка:Произошла исключительная ситуация (ADODB.Recordset): Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.
Процедура подключения/отключения: Connection = Новый COMОбъект("ADODB.Connection"); Connection.ConnectionString = "Driver=Firebird/InterBase(r) driver;" + "Dbname=" + СокрЛП(Объект.ПутьКФайлу) + ";" + "UID=" + СокрЛП(Объект.Пользователь) + ";" + "PWD=" + СокрЛП(Объект.Пароль); Попытка Connection.Open(); Сообщить("Успешное подключение"); Исключение Сообщить("Подключение к БД не установлено. Проверьте настройки подключения"); Connection = Неопределено; КонецПопытки; /////////////////////////////////////// RS = Новый COMОбъект("ADODB.Recordset"); RS.Open("Select produce.id From produce Where produce.isactive = 1" , Connection); RS.MoveFirst(); Пока RS.EOF()=0 Цикл Cообщить(RS.Fields("id").Value); Попытка RS.MoveNext(); Исключение Прервать; КонецПопытки; КонецЦикла; RS.Close(); RS = Неопределено; Connection.Close(); Connection = Неопределено; |
|||
1
bluekrab
03.11.16
✎
12:51
|
ап
|
|||
2
Живой Ископаемый
03.11.16
✎
12:54
|
а зачем второй раз подключаться?
так происходит всегда? даже если пыаешься подключиться например спустя 20 минут? |
|||
3
Живой Ископаемый
03.11.16
✎
12:55
|
а, потому что ты его обнуляешь зачем-то, ну ок...
|
|||
4
Живой Ископаемый
03.11.16
✎
12:56
|
Еще раз, ошибка на этой строчке:
RS.Open("Select produce.id From produce Where produce.isactive = 1" , Connection); ? |
|||
5
Живой Ископаемый
03.11.16
✎
12:59
|
Раздерибань строку на такие:
Команда = Новый COMОбъект("ADODB.Command"); Команда.ActiveConnection = Connection; Команда.CommandText = "Select produce.id From produce Where produce.isactive = 1"; НаборЗаписей = Новый COMОбъект("ADODB.RecordSet"); Попытка НаборЗаписей = Команда.Execute(); Исключение ОписаниеОшибки = ОписаниеОшибки(); //Сообщить(ОписаниеОшибки); //А.П. май 2012 ЗаписьЖурналаРегистрации("Paradox.НаборЗаписей.Исключение",УровеньЖурналаРегистрации.Ошибка,,,Команда.CommandText+Символы.ПС+ОписаниеОшибки,); КонецПопытки; И можно еще Connection.ConnectionTimeOut =20; Connection.CursorLocation = 1; Connection.Mode=1; Перед Попытка Connection.Open(); |
|||
6
Живой Ископаемый
03.11.16
✎
13:03
|
но только чур, это не внешние источник данных как это принято в 1Совской терминологии.
|
|||
7
bluekrab
03.11.16
✎
13:14
|
(6) прошу прощения за терминологию)
Да, ошибка в этой строке. Раздерибанить не получилось: Произошла исключительная ситуация (ADODB.Recordset): Операция не допускается, если объект закрыт. |
|||
8
Живой Ископаемый
03.11.16
✎
15:17
|
А почему не получилось? Раздерибань
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |