![]() |
Подключение к базе FireBird из 1С77 "«Помоги мне, Оби-Ван Кеноби, ты — моя последняя надежда…" Нужно подключиться к базе из 1С77. Скачала обработку для подключения, но она выдает ошибку "Не возможно установить соединение с базой данных". Это программа по ЕРКЦ. Скопировала каталог самой программы, в которой использована эта база. Та же ошибка. Т.е. проблема, скорее всего, как прописать эту базу в FB. Ребят, я об этой проге слыхом не слыхивала и попытка что-то понять в инете, к моему стыду, потерпела крах. Установила Firebird-2.5.1.26351_1_x64, Firebird_ODBC_2.0.1.152_x64. Комп - Win Serv 2008. В службах прописаны FirebirdGuardianDefaultInstance и FirebirdServerDefaultInstance. Состояние не прописано. Запустила файл с параметром : "C:\Program Files\Firebird\Firebird_2_5\bin\fbguard.exe" -a Но подключение не появилось. При установке никаких данных у меня не запрашивалось. В 1С при написании команды нужно прописать ip сервера, пользователя и пароль... И где их брать? Стандартные? Вот строка подключения : СтрокаКоннекта = "driver=Firebird/InterBase(r) driver;server=127.0.0.1;uid=SYSDBA;pwd=masterkey;Database=D:\Documents\......\ЕРКЦ\Gr\Domof\Data\DATA.FDB" Пожалуйста, помогите разобраться. Больше мне спрашивать не у кого, перекладывать работу - тоже не на кого... |
ставь *_win32, а не *_x64 "[em]Ребят, я об этой проге слыхом не слыхивала и попытка что-то понять в инете, к моему стыду, потерпела крах.[/em]" [url]http://bit.ly/1sL2aUJ[/url] "[em]Вот строка подключения :[/em]" [url]http://www.connectionstrings.com/ibphoenix-open-source-odbc-driver/local-database-firebird/[/url] |
Я так понимаю(сам не делал, но есть работающий отчёт), цепляться надо не к файлу а к базе на сервере СоединениеFireBird.ConnectionString = "driver={Firebird/InterBase(r) driver**;server="+СтрокаАдреса+";uid=SYSDBA;pwd=пароль;database="+СтрокаАдреса+":armmag"; |
(1) Спасибо, установила win32 - подключилась база... Теперь попытаюсь разобраться, что-где )) |
А как получить значение поля таблицы FB, зная наименование поля? Запрос такой : СтрокаПолей ="select SSUM,RSUM from NACH"; ЗапДан = СоздатьОбъект("ADODB.Command"); ЗапДан.ActiveConnection = ГДБ; ЗапДан.CommandText = СокрЛП(СтрокаПолей); БазаДан = СоздатьОбъект("ADODB.RecordSet"); БазаДан = ЗапДан.Execute(); //Выполнить БазаДан.MoveFirst(); Пока БазаДан.EOF() = 0 Цикл имяПоля="SSUM"; Значен = БазаДан.Fields(имяПоля).Value; БазаДан.MoveNext(); КонецЦикла; |
Выдает ошибку : БазаДан.Fields(имяПоля).Value = Ошибка в выражении! |
Без ошибок возвращает значения полей типа Дата и Строка. А как получить значения других типов полей? Например, числа? |
6-Lisonia > Попробуй взять представление (.text) |
пробовала ((( И Value2. Но тогда вообще значений ни каких ни с одного поля не получаю. |
Функция Открыть() Экспорт Закрыть(); БД = СоздатьОбъект("OLEDBData"); Если (Нрег(Сервер) = "localhost") или (Сервер = "127.0.0.1") Тогда Соединение = "DRIVER=Firebird/InterBase(r) driver; DBNAME=" + ИмяБД + "; UID=" + ПользовательБД + "; PWD=" + Пароль + ";"; Иначе Соединение = "DRIVER=Firebird/InterBase(r) driver; DBNAME=" + Сервер + ":" + ИмяБД + "; UID=" + ПользовательБД + "; PWD=" + Пароль + ";"; КонецЕсли; Попытка БД.Соединение(Соединение); Команда = БД.СоздатьКоманду(); ОткатитьТранзакцию(); Команда.Отладка(Отладка); ОткрытаБД = 1; Исключение ТекстОшибки = "Ошибка соединения с FireBird БД " + ИмяБД + ": " + ОписаниеОшибки(); ОткрытаБД = 0; //#exinfo Модуль = СоздатьОбъект("ВыполняемыйМодуль"); Модуль.ВыброситьИскл(, ТекстОшибки); КонецПопытки; Возврат ОткрытаБД; КонецФункции // Открыть |
OLEDBData - это объект вк 1срр. Нужно чтобы был зарегистрирован драйвер Firebird на машине |
OnCheck, проблему подключения я решила, помогло (1). Теперь проблема получить данные.(4)(5) |
Закрыла тему, т.к. проблема изложенная в шапке -решена. Что б не путать людей, создала новую тему. |
Текущее время: 21:38. Часовой пояс GMT +3. |