Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Подключение к базе FireBird из 1С77 (http://forums.kuban.ru/f1040/podklyuchenie_k_baze_firebird_iz_1s77-6181865.html)

Lisonia 15.10.2014 12:57

Подключение к базе 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"

Пожалуйста, помогите разобраться. Больше мне спрашивать не у кого, перекладывать работу - тоже не на кого...

user1C 15.10.2014 13:44

ставь *_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]

который не честный 15.10.2014 13:45

Я так понимаю(сам не делал, но есть работающий отчёт), цепляться надо не к файлу а к базе на сервере
СоединениеFireBird.ConnectionString = "driver={Firebird/InterBase(r) driver**;server="+СтрокаАдреса+";uid=SYSDBA;pwd=пароль;database="+СтрокаАдреса+":armmag";

Lisonia 15.10.2014 14:03

(1) Спасибо, установила win32 - подключилась база... Теперь попытаюсь разобраться, что-где ))

Lisonia 16.10.2014 11:58

А как получить значение поля таблицы FB, зная наименование поля?

Запрос такой :
СтрокаПолей ="select SSUM,RSUM from NACH";

ЗапДан = СоздатьОбъект("ADODB.Command");
ЗапДан.ActiveConnection = ГДБ;
ЗапДан.CommandText = СокрЛП(СтрокаПолей);
БазаДан = СоздатьОбъект("ADODB.RecordSet");
БазаДан = ЗапДан.Execute(); //Выполнить

БазаДан.MoveFirst();

Пока БазаДан.EOF() = 0 Цикл

имяПоля="SSUM";
Значен = БазаДан.Fields(имяПоля).Value;

БазаДан.MoveNext();
КонецЦикла;

Lisonia 16.10.2014 13:32

Выдает ошибку :
БазаДан.Fields(имяПоля).Value = Ошибка в выражении!

Lisonia 16.10.2014 14:52

Без ошибок возвращает значения полей типа Дата и Строка. А как получить значения других типов полей? Например, числа?

VZ 16.10.2014 17:20

6-Lisonia > Попробуй взять представление (.text)

Lisonia 17.10.2014 08:37

пробовала ((( И Value2. Но тогда вообще значений ни каких ни с одного поля не получаю.

OnCheck 17.10.2014 09:10

Функция Открыть() Экспорт
Закрыть();
БД = СоздатьОбъект("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
Модуль = СоздатьОбъект("ВыполняемыйМодуль");
Модуль.ВыброситьИскл(, ТекстОшибки);
КонецПопытки;
Возврат ОткрытаБД;
КонецФункции // Открыть

OnCheck 17.10.2014 09:14

OLEDBData - это объект вк 1срр.
Нужно чтобы был зарегистрирован драйвер Firebird на машине

Lisonia 17.10.2014 09:42

OnCheck, проблему подключения я решила, помогло (1).
Теперь проблема получить данные.(4)(5)

Lisonia 17.10.2014 11:10

Закрыла тему, т.к. проблема изложенная в шапке -решена. Что б не путать людей, создала новую тему.


Текущее время: 13:39. Часовой пояс GMT +3.