Имя: Пароль:
1C
1С v8
Кто-нибудь подключался из 1С к базе firebird?
0 baands
 
03.08.17
16:45
Здравствуйте, коллеги
Есть такая ситуация, база firebird лежит в сети, пытаюсь подключиться к ней из 1С (код ниже), отваливается с ошибкой

Невозможно установить соединение с Firebird:
{ВнешняяОбработка.ЛВР_ЗагрузкаИзКассПрямоеПодключение.Форма.Форма.Форма(18)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию

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

Утилиты для работы с бд подключаются без проблем. Например: DatabaseBrowserPortable.exe   Т.е. база доступна для подключения

Соединение      = Новый COMОбъект("ADODB.Connection");
    Команда         = Новый COMОбъект("ADODB.Command");
    НаборЗаписей    = Новый COMОбъект("ADODB.RecordSet");

    Соединение.ConnectionString     = "DRIVER=Firebird/InterBase® driver; DBNAME=192.168.151.225:D:\CR\MAIN.GDB;UID=sysdba;PWD=masterkey";
    Соединение.ConnectionTimeOut    = 1200;
    Соединение.CursorLocation       = 3;
    try
        Соединение.Open(Соединение.ConnectionString);
        Сообщить("Соединение успешно уставнолено !!!");
    except
        Сообщить("Невозможно установить соединение с Firebird:
        | "+ОписаниеОшибки());
        Возврат;
    endtry;

Помогите, не знаю, куда копнуть
1 Garykom
 
гуру
03.08.17
16:51
1С запускать с админскими правами!!!
http://firebirdsql.su/doku.php?id=podkljuchenie_k_baze_dannyx_iz_1s
2 Garykom
 
гуру
03.08.17
16:52
(1)+ Попробуй источник данных создать http://break-people.ru/cmsmade/index.php?page=ado-interbase-firebird
3 dezss
 
03.08.17
16:54
Не указан порт, + SYSDBA...большими буквами же, вроде должно быть
4 baands
 
03.08.17
17:09
(1) Спасибо, статью тоже нашёл, оказывается пропустил слэш в имени базы и не указывал библиотеку
(3) Порт не обязателен, регистр тоже неважен, под этими данными менеджеры подключаются. Вам тоже спасибо
5 baands
 
03.08.17
17:11
Хотя не, слэш не влияет, библиотеку просто надо подрубить, но это ни в одной статье до этого не было ((
6 Масянька
 
03.08.17
17:14
(5) Ты - конченный человек :)))))))) (ШУТКА)
У меня муж сидит ковыряет - уже 2 недели засыпаю в обнимку с подушкой :)
7 baands
 
03.08.17
17:19
(6) Тоже самое ковыряет? :)
8 baands
 
03.08.17
17:19
У меня тоже вторая неделя пошла :) Жена, ты ли это? ))))) Шучу :)
9 Масянька
 
03.08.17
17:20
(7) С эской не связано. Делфи.
10 baands
 
03.08.17
17:20
(9) Значит сегодня сможешь обнять мужа ))
11 Масянька
 
03.08.17
17:22
(10) Не... Меня уже поставили перед фактом :(
Ничё... Скалку скоро возьму :)))))
12 Torquader
 
04.08.17
03:21
Чего у вас с FireBird не летает ?
ODBC-драйвер поставили ?
Про битность драйвера и платформы не забыли (должна быть равна).
Имя драйвера в строке подключения вписали ?

Если к "жареной курице" лезем по сети, то нужно посмотреть, а не ограничили ли её в конфиге на приём запросов по сети.

P.S. сколько "курицу пасу" ни разу не было такого, что нельзя было подключиться, причём не важно, с какого языка программирования.

Функция ефПодключитьFireBird(псткНастройки,побПодключение)Экспорт
    ПЕРЕМ лстрСервер;
    ПЕРЕМ лстрБаза;
    ПЕРЕМ лстрПользователь;
    ПЕРЕМ лстрПароль;
    Если НЕ псткНастройки.Свойство("Сервер",лстрСервер)Тогда
        лстрСервер="127.0.0.1";
    КонецЕсли;
    Если НЕ псткНастройки.Свойство("База",лстрБаза)Тогда
        епСообщениеОбОшибке("Не указана база, к которой выполняется подключение");
        Возврат ЛОЖЬ;
    КонецЕсли;
    Если НЕ псткНастройки.Свойство("Пользователь",лстрПользователь)Тогда
        лстрПользователь="SYSDBA";
    КонецЕсли;
    Если НЕ псткНастройки.Свойство("Пароль",лстрПароль)Тогда
        лстрПароль="masterkey";
    КонецЕсли;
    Попытка
        побПодключение=Новый COMОбъект("ADODB.Connection");
    Исключение
        епСообщениеОбОшибке("Ошибка при создании объекта доступа в базам данных:"+ОписаниеОшибки());
        Возврат ЛОЖЬ;
    КонецПопытки;
    Если Найти(лстрСервер,"""")>0 Тогда
        епСообщениеОбОшибке("В имени сервера нельзя использовать кавычки");
        Возврат ЛОЖЬ;
    КонецЕсли;
    Если Найти(лстрБаза,"""")>0 Тогда
        лстрБаза=СтрЗаменить(лстрБаза,"""","""""");
    КонецЕсли;
    Попытка
        побПодключение.Open("Driver=Firebird/Interbase(r) driver;Dialect=3;CHARSET=UTF-8;DBNAME="+лстрСервер+":"+лстрБаза+";",лстрПользователь,лстрПароль);
    Исключение
        епСообщениеОбОшибке("Не удалось выполнить подключение к серверу:"+ОписаниеОшибки());
        Возврат ЛОЖЬ;
    КонецПопытки;
    Возврат ИСТИНА;
КонецФункции
13 Дебет
 
04.08.17
04:14
(0)попробуй подключиться IBEXPERTOM что бы быть увереным что со своего пк можешь подкл.Да еще ставлю всегда для подключения ibgem-site
14 mikeA
 
04.08.17
04:59
(0) Подключался через внешнии источники данных. Сначала были танцы с бубном, какие уж точно и не вспомню, но потом всё заработало.
Очень удобно что видно всю структуру базы, работает быстро и стабильно. Только реквизиты через точку не надо получать)
15 baands
 
08.08.17
12:18
(12) Вопрос решен. Вопрос был с прописанием в строке подключения адреса библиотеки
(13) Да, согласен, первое, что проверил. Я подключался к базе вот этой штукой DatabaseBrowserPortable

Вот такая строка в итоге

Соединение.ConnectionString = "Driver=Firebird/InterBase(r) driver;" +
     "Dbname=<ip компа в сети и порт>:<путь>\MAIN.GDB;" +  // Исправьте на свой IP, порт и путь к базе данных !
     "UID=SYSDBA;" +                                     // Исправьте на свое имя пользователя !
     "PWD=masterkey;" +                                  // Исправьте на правильный пароль !
     "CHARSET=WIN1251;" +                                // Исправьте на свою кодировку подключения !!!
     "client=C:\Program Files (x86)\FireBird\FireBird_2_1\BIN\fbclient.dll";
16 v77
 
08.08.17
12:21
офигеть работнички. неделю к базе коннектились :)
17 Два Плюс Два
 
08.08.17
12:32
(17) Завтра напишут: FBI раскрыта группа русских хакеров, которые неделю пытались подключиться к архивам Пентагона...
AdBlock убивает бесплатный контент. 1Сергей