Имя: Пароль:
1C
1С v8
Не подключается в базе Firebird. Через консоль подключается.
,
0 ЧессМастер
 
03.03.21
18:30
Всем доброе время суток !

Ситуация следующая.

Есть база Firebird на компе в сети (пропускная система).

Надо к ней подключиться  из 1С.

Через консоль с компа все отлично подключается - то есть по идее все нормально с правами, драйверами и т.п.

Но через 1С хоть ты тресни никак не хочет.

Текст кода

    Conn = Новый COMОбъект("ADODB.Connection");
    
    Conn.ConnectionString = "DRIVER=Firebird/InterBase(r) driver;" +
     "DBNAME=KD-SKUD-01:C:\Program Files (x86)\ENT\Server\DB\CBASE.FDB;" +  // Исправьте на свой IP, порт и путь к базе данных !
     "UID=SYSDBA;" +                                     // Исправьте на свое имя пользователя !
     "PWD=masterkey;" +                                  // Исправьте на правильный пароль !
     "CHARSET=WIN1251;" +                                // Исправьте на свою кодировку подключения !!!
     "C:\Program Files (x86)\Firebird\Firebird_2_1\bin\fbclient.dll";
    
     Conn.ConnectionTimeout = 180;
     Conn.CursorLocation = 3;
     // Подключаемся к базе данных
      
     Попытка
        Conn.Open(Conn.ConnectionString);
        
        Сообщить("успешно подключились к базе проходной");
        
     Исключение
        Сообщить("Не удалось выполнить подключение " + ОписаниеОшибки());
     КонецПопытки;    


Выдает ошибку

"Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию"


При этом через консоль Fireboird  с этого же компа под этим же пользователем с таким расположением DB все подключается.


В чем может быть дело ?
1 Вафель
 
03.03.21
18:50
не установлен драйвера одбу
2 ЧессМастер
 
03.03.21
20:16
(1) Установлен.

1. Панель управления\Все элементы панели управления\Администрирование

Firebird/InterBase(r) driver

Версия 2.00.01.152

2. Консолью Firebird подключение к базе идет. Если бы драйвера не было то подключение консолью бы не проходило.
3 ДенисЧ
 
03.03.21
20:31
Сейчас выяснится, что этот код &НаСервере...
4 acht
 
03.03.21
20:47
64x32
5 Кирпич
 
03.03.21
20:48
мож "CLIENT=C:\Program Files (x86)\Firebird\Firebird_2_1\bin\fbclient.dll";
6 vovastar
 
03.03.21
21:02
(0) старый добрый Firebird...аж вздрагиваю при его упоминании...
7 Вафель
 
03.03.21
21:15
консоль fb не юзает одбц, а нативно подкючается
8 ЧессМастер
 
04.03.21
11:54
(3) Да в этом дело оказалось.

Пробовал это сделать в модуле объекта отчета на СКД. Сделал для проверки на клиенте - все работает.


Еще один момент можешь подсказать ?

При подключении внешнего источника данных с этой же строкой подключения выдает сообщение

Ошибка ODBC. SQLSTATE: IM002
Номер ошибки: 0
Описание: [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию

Я правильно понимаю что для того чтобы подключить внешний источник данных надо

1. Драйвер ставить на сервере 1С
2. Драйвер ставить той же разрядности как и сервер 1С.
9 ЧессМастер
 
04.03.21
11:54
(6) Что делать - БД пропускной системы на нем крутится.
10 Gimalaj
 
04.03.21
12:29
(8) >> Я правильно понимаю что для того чтобы подключить внешний источник данных надо...
Да, все верно.
11 Gimalaj
 
04.03.21
12:32
А вообще, никогда не понимал людей, пишущих: ConnectionString = "DRIVER=такой-то, DBNAME=такая-то, UID=такой-то и т.д.".
Намного проще создать в системе DSN, а в коде написать "dsn=такой-то".
12 ДенисЧ
 
04.03.21
12:35
(11) Хорошо, что мне не приходилось править твой такой код...
13 Gimalaj
 
04.03.21
12:36
(12) ОК, аргументируй. Что не так?
14 ДенисЧ
 
04.03.21
12:38
(13) Лишние движения телом.
15 ДенисЧ
 
04.03.21
12:39
И переносимость. Забудешь ты притащить в прод свой дсн и ага.
16 Gimalaj
 
04.03.21
12:41
(15) Ну это не аргумент. Точно так же на продуктовом сервере можно забыть установить драйвер, забыть изменить имя/логин/пароль для базы и т.д.
17 ЧессМастер
 
04.03.21
20:58
(11) >Намного проще создать в системе DSN, а в коде написать "dsn=такой-то".

Если тебе не нравится писать в коде "DBNAME=такая-то" то никто не мешает хранить значение "DBNAME=такая-то" где угодно - в табличной части, в регистре сведений и т.п.
18 ЧессМастер
 
04.03.21
21:02
(10) При работе на сервере появился новый прикол

Ошибка при вызове метода контекста (УстановитьСоединение): Ошибка ODBC. SQLSTATE: 08004
Номер ошибки: -902
Описание: [ODBC Firebird Driver]Your user name and password are not defined. Ask your database administrator to set up a Firebird login.

При этом подключение идет под теми же данными как и с локальной машины. То есть при подключение с локальной машины подключение проходит, на сервере под этими же данными нет.

Что бросается в глаза - версия драйвера на сервере другая. Может при изменении версии драйвера поменялся синтаксис подключения ?
19 Fram
 
05.03.21
00:33
(18) может все таки в разные базы ломишься?.. если что диск С на клиенте не всегда равно диск С на сервере
20 ЧессМастер
 
05.03.21
11:37
(19) >может все таки в разные базы ломишься

Да нет в одну и ту же.

DBNAME=KD-SKUD-01:C:\Program Files (x86)\ENT\Server\DB\CBASE.FDB

Это расположение БД пропускной системы на другом компе в сети. Если я со своего компа присоединяюсь с клиента то все нормально. Если с сервера с такой же строкой подключения выдает

Ошибка при вызове метода контекста (УстановитьСоединение): Ошибка ODBC. SQLSTATE: 08004
Номер ошибки: -902
Описание: [ODBC Firebird Driver]Your user name and password are not defined. Ask your database administrator to set up a Firebird login.


Как может быть что под однги ми и теми же учетными данными

UID=SYSDBA
PWD=masterkey

с клиента пускает а с сервера нет ? Это бред какой то реальный.
21 ЧессМастер
 
05.03.21
11:41
Вот это прикол

"Оказывается файл базы данных созданный в Firebird 32 bit, не открывается в Firebird 64 bit."

Возникает вопрос - как же подключаться к Firebird на сервере если там 64 разрядная 1С ? И 32 разрядный драйвер Firebird не сработает.
22 Пузан
 
05.03.21
11:43
(21) Ставить 64 разряда драйвер. Нет?
23 ЧессМастер
 
05.03.21
11:59
(22) Смотри что получается

Сейчас стоит 64 разрядный драйвер.

При попытке подключения "на сервере" выдает

Ошибка при вызове метода контекста (УстановитьСоединение): Ошибка ODBC. SQLSTATE: 08004
Номер ошибки: -902
Описание: [ODBC Firebird Driver]Your user name and password are not defined. Ask your database administrator to set up a Firebird login.


Это происходит по причине того что 64 разрядный драйвер с сервера пытается подключиться в базу Firebird которая создана в 32 разрядном приложении.

И при этом возникает вот этот нюанс

"Оказывается файл базы данных созданный в Firebird 32 bit, не открывается в Firebird 64 bit."


При этом 64 разрядный сервер не ставит 32 разрядный драйвер Firebird. Который нужен для обхода ограничения

>"Оказывается файл базы данных созданный в Firebird 32 bit, не открывается в Firebird 64 bit."
24 Пузан
 
05.03.21
12:04
Ну значит капец. С твоей базой можно работать только через 32 разрядную 1С.
25 Вафель
 
05.03.21
12:04
26 ЧессМастер
 
05.03.21
18:21
(25) Так там конкретики нет

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

На какой сайт ?

>Я закончил создание соединения ODBC непосредственно под HKLM\Software\ODBC

Что он конкретно менял ?
27 ЧессМастер
 
05.03.21
18:38
У кого то работает подключение к Firebird через внешние источники данных на сервере 64 разрядном ?
28 ДедМорроз
 
06.03.21
13:15
Прекрасно можно подключаться к 32 из 64 и наоборот,только разрядность установленного odbc драйвера должна совпадать с разрядностью приложения.
Ставим на сервер odbc64 и в путь.
29 ДедМорроз
 
06.03.21
13:17
Ну и надо понимать,что сервер - это служба,запущенная на конкретной машине,и в строке подключения указывается ее адрес,а путь базы уже указывается относительно этой службы и на той машине,где она установлена.
30 ЧессМастер
 
09.03.21
13:23
(28) >Прекрасно можно подключаться к 32 из 64 и наоборот,только разрядность установленного odbc драйвера должна совпадать с разрядностью приложения.

Ничего подобного

В (23) это подробно описано

Сейчас стоит 64 разрядный драйвер.

При попытке подключения "на сервере" выдает

Ошибка при вызове метода контекста (УстановитьСоединение): Ошибка ODBC. SQLSTATE: 08004
Номер ошибки: -902
Описание: [ODBC Firebird Driver]Your user name and password are not defined. Ask your database administrator to set up a Firebird login.


Это происходит по причине того что 64 разрядный драйвер с сервера пытается подключиться в базу Firebird которая создана в 32 разрядном приложении.

И при этом возникает вот этот нюанс

"Оказывается файл базы данных созданный в Firebird 32 bit, не открывается в Firebird 64 bit."

Не откроет базу данных созданную в Firebird 32 bit с сервере где установлен драйвер Firebird 64 bit.

А 32 разрядный драйвер Firebird на сервер 64 bit не ставится.
31 ЧессМастер
 
09.03.21
13:26
(28) >Прекрасно можно подключаться к 32 из 64 и наоборот,

Нет нельзя.

При попытке подключения из 64 в 32 выдает

Ошибка при вызове метода контекста (УстановитьСоединение): Ошибка ODBC. SQLSTATE: 08004
Номер ошибки: -902
Описание: [ODBC Firebird Driver]Your user name and password are not defined. Ask your database administrator to set up a Firebird login.

Причина в том что

"Оказывается файл базы данных созданный в Firebird 32 bit, не открывается в Firebird 64 bit."
32 Вафель
 
09.03.21
13:59
(31) фб должен быть 32 бит, а одбц - 64
33 Вафель
 
09.03.21
14:01
ты напрямую к файлу обращаешься, а не к серверу чтоли?
34 Кирпич
 
09.03.21
15:16
В сообщении об ошибке явно намекают про юзера и пароль. При чем тут 64 и 32. Фигня какая то. С правами надо разбираться.
35 Кирпич
 
09.03.21
15:20
Можно же явно указать клиента в параметрах подключения. Поставить ODBC 64 и клиента 64 и всё будет работать.
36 Gimalaj
 
09.03.21
15:45
(31) Значит, что-то у тебя не так. У меня точно такая же ситуация: база изначально работала с х32-приложением, потом понадобился доступ к ней из 1С. В настоящее время мы работаем с этой базой данных как из 32-разрядного дельфёвого приложения, так и из 64-разрядного сервера 1С.
37 Gimalaj
 
09.03.21
15:47
Создай на сервере, где развернут сервер 1С источник DSN и протестируй оттуда.
38 Кирпич
 
09.03.21
15:49
(37) Да автор уже, наверное, доложил начальству о фатальной ошибке в Fierbird и успокоился :)
39 Кирпич
 
09.03.21
15:50
уж неделя прошла
40 Gimalaj
 
09.03.21
15:53
(39) Ну, последнее сообщение он два часа назад написал.
41 ЧессМастер
 
09.03.21
16:06
(32) >фб должен быть 32 бит, а одбц - 64

Так и есть.
42 ЧессМастер
 
09.03.21
16:08
(33)

>ты напрямую к файлу обращаешься, а не к серверу чтоли?

К какому серверу ? Я подключаюсь к файлу

DBNAME=KD-SKUD-01:C:\Program Files (x86)\ENT\Server\DB\CBASE.FDB

Этот файл лежит на компе с пропускной системой. И там база 32 bit.

При подключении с локальной машины при использовании драйвера Firebird 32 bit все проходит отлично.

Но как только подключение к этому же файлу идет с использованием 64 разрядного драйвера Firebird (через сервер 1С) валится ошибка

При попытке подключения из 64 в 32 выдает

Ошибка при вызове метода контекста (УстановитьСоединение): Ошибка ODBC. SQLSTATE: 08004
Номер ошибки: -902
Описание: [ODBC Firebird Driver]Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
43 ЧессМастер
 
09.03.21
16:09
(34) > При чем тут 64 и 32

При том что

"Оказывается файл базы данных созданный в Firebird 32 bit, не открывается в Firebird 64 bit."

А именно этот фокус пытается провернуть 64 разрядный драйвер когда лезет в 32 разрядную базу Firebird.
44 ЧессМастер
 
09.03.21
16:12
(35) >Поставить ODBC 64 и клиента 64 и всё будет работать.

Нет не будет.

Еще раз

Как только клиент (драйвер) меняется с 32 разрядного на 64 разрядный и идет попытка подключения к 32 разрядной базе Firebird валится ошибка

Ошибка при вызове метода контекста (УстановитьСоединение): Ошибка ODBC. SQLSTATE: 08004
Номер ошибки: -902
Описание: [ODBC Firebird Driver]Your user name and password are not defined. Ask your database administrator to set up a Firebird login.


Обход этот ошибки только

1. Конвертация базы Firebird в 64 разрядную
2. Работа с 32 разрядной базой Firebird с клиента с использованием драйвера 32 bit
3. Работа с 32 разрядной базой Firebird из файловой базу с клиента с использованием драйвера 32 bit.
45 ЧессМастер
 
09.03.21
16:14
(35) >Можно же явно указать клиента в параметрах подключения.

Что ты укажешь явно ?

На сервере 1С который 64 bit

1. Драйвер 32 разрядный не ставится.
2. При попытке подключения из 64 сервера 1С в 32 базу Firebird выдает

Ошибка при вызове метода контекста (УстановитьСоединение): Ошибка ODBC. SQLSTATE: 08004
Номер ошибки: -902
Описание: [ODBC Firebird Driver]Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
46 ЧессМастер
 
09.03.21
16:16
Я перечитал кучу статей на Инфостарте на эту тему.

Народ только такие способы нашел

1. Конвертация базы Firebird в 64 разрядную
2. Работа с 32 разрядной базой Firebird с клиента с использованием драйвера 32 bit
3. Работа с 32 разрядной базой Firebird из файловой базу с клиента с использованием драйвера 32 bit.

Напрямую с сервера 64 bit в базу Firebird 32 bit никто не победил.
47 ЧессМастер
 
09.03.21
16:22
(37) >Создай на сервере, где развернут сервер 1С источник DSN и протестируй оттуда.

Если речь идет про ВнешниеИсточникиДанных то при подключении из 1С в базу Firebird используется как раз драйвер 64 bit с сервера 1С.

С такой же ошибкой как это происходит при попытке подключиться обработкой на сервере.

Те же грабли только в профиль.

Ошибка при вызове метода контекста (УстановитьСоединение): Ошибка ODBC. SQLSTATE: 08004
Номер ошибки: -902
Описание: [ODBC Firebird Driver]Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
48 ЧессМастер
 
09.03.21
16:27
(36) >В настоящее время мы работаем с этой базой данных как из 32-разрядного дельфёвого приложения, так и из 64-разрядного сервера 1С.

Возможно в вашем приложении нет такого жесткого ограничения какое есть у Firebird

>"Оказывается файл базы данных созданный в Firebird 32 bit, не открывается в Firebird 64 bit."
49 Кирпич
 
09.03.21
16:43
С какого перепугу "Оказывается файл базы данных созданный в Firebird 32 bit, не открывается в Firebird 64 bit."
Сервер же на другом компе. Ему пофиг разрядность клиента. Он же через сеть общается. У меня вот работает сервер на 32 и подключаюсь я 64 битным клиентом.
50 Кирпич
 
09.03.21
16:49
С правами там что то. Написано же черным по белому.
51 Gimalaj
 
09.03.21
17:04
(47) Речь в (37) идет НЕ про внешние источники данных.Речь там идет вообще не про 1С.
Открой в Виндоус "Панель управления" - "Администрирование" - "Источники данных ODBC (64-разрядная версия)". Создай DSN и в созданном DSN ты сможешь протестировать соединение с Firebird.
52 Gimalaj
 
09.03.21
17:05
(50) Черным по белому там написано не про права, а про логин/пароль.
53 Gimalaj
 
09.03.21
17:20
(48) "Упрямство - первый признак тупости" (с) Глеб Жеглов, "Место встречи изменить нельзя", по-моему 3-я серия.
54 Кирпич
 
09.03.21
17:32
(52) Ну как бы нет имени и пароля - нет прав
55 Garykom
 
гуру
09.03.21
17:37
(0) Лично я использую прокладку на Golang для работы с внешними БД из 1С
Ибо внешние источники данных слегка задолбали, на сервере часто прав нету - злобные админы
56 Garykom
 
гуру
09.03.21
17:38
(55)+ Если надо то могу сваять и выложить для Firebird
57 Garykom
 
гуру
09.03.21
17:39
(56)+ https://github.com/nakagami/firebirdsql
суть обычный exe (или бинарник под линукс) который запускаешь с параметрами, передав ему параметры подключения, текст запроса sql и имя файла куда писать результат
и все в файле результат или в csv или в json
58 Черепахыч
 
09.03.21
17:47
я тоже недавно парился с этой проблемой
Смотри. у меня тоже сервер 64 бит.
на клиенте ставлю 32 бит.

Драйвер да.. 32 битный. Firebird_ODBC_2.0.5.156_Win32.exe или gds32.dll


В моем случае работает только на клиенте.
Процедуру подключения, использование драйвера пишу на #клиенте


на всякий случай кидаю тебе свой 100% рабочий код

СКУД система у меня  "Тайм контрол"


&НаКлиенте
Процедура Рефф_ЗаполнитьTimeControl(Команда)
    Если объект.Табель.Количество()>=0 тогда
        Если Вопрос("Очистить табличную часть?",РежимДиалогаВопрос.ДаНет)=КодВозвратаДиалога.Да тогда
            объект.Табель.Очистить();
        Конецесли;
    Конецесли;    
    
    
        
    FBDBAddr  = "192.168.2.5/3053:C:\Program Files (x86)\TimeControl\BASE\OKO.FDB";    
    
    //где 192.168.2.5/3053 - адрес удаленного сервера с софтиной time Control
    //C:\Program Files (x86)\TimeControl\BASE\OKO.FDB" - путь базе на удаленном сервере (это не обязательно локальный путь!)
    
    
    //FBDBAddr  = "192.168.2.5/3053";//:C:\Program Files (x86)\TimeControl\BASE\OKO.FDB";
    FBUserName = "MEGA";
    FBUserPass= "STMEGA21";
    
    ConnectionБД =Новый COMОбъект("ADODB.Connection");
    
    ConnectionБД.ConnectionString="driver=Firebird/InterBase(r) driver;
    //|Dialect=3;
    |CHARSET=NONE;
    |Uid=MEGA;
    |Pwd=STMEGA21;
    |Dbname="+СокрЛП(FBDBAddr);
    ConnectionБД.ConnectionTimeOut=15; // и хватит
    ConnectionБД.CursorLocation=3;
    
    Попытка
        ConnectionБД.Open(ConnectionБД.ConnectionString);
        //Сообщить("Соединение успешно установлено!");
    Исключение
        Сообщить("Ошибка при установке соединения: "+ОписаниеОшибки());
        мСоединение=Неопределено;
        возврат;
    КонецПопытки;
    //
    
    
    //SELECT U.FULLNAME, U.TABNUM, U.DEVICE_UID, G.WORKDATE, G.FACT_MIN_WORK FROM GLOBAL_WORK_BY_DAY(:BDATE, :FDATE,-1,-1,'','',0,'0:00','0:00',0,1,0) G LEFT JOIN USERS U ON (G.UID=U.UID) ORDER BY U.FULLNAME, G.WORKDATE
    

    //Входные параметры:

    //BDATE - начало периода

    //FDATE - окончание периода

    //

    //Выходные поля:

    //DEVICE_UID - код сотрудника на устройстве

    //TABNUM - табельный номер

    //FULLNAME- ФИО

    //WORKDATE - дата

    //FACT_MIN_WORK - отработанное время в минутах    

    //BDATE ="'01.11.2020'";
    //FDATE ="'30.11.2020'";
    BDATE = "'" + Формат( НачалоМесяца(объект.НачалоПериода) , "ДФ=dd.MM.yyyy" )+ "'";
    FDATE = "'" + Формат( КонецМесяца(объект.НачалоПериода ) , "ДФ=dd.MM.yyyy" )+ "'";
    
    RS = Новый COMОбъект("ADODB.Recordset");
    RS.ActiveConnection = ConnectionБД;
      RS.CursorType = 1;
      RS.LockType = 3;
    //Str = "SELECT U.FULLNAME, U.TABNUM, U.DEVICE_UID, G.WORKDATE, G.FACT_MIN_WORK FROM GLOBAL_WORK_BY_DAY(:BDATE, :FDATE,-1,-1,'','',0,'0:00','0:00',0,1,0) G LEFT JOIN USERS U ON (G.UID=U.UID) ORDER BY U.FULLNAME, G.WORKDATE";
    Str = "SELECT U.FULLNAME, U.TABNUM, U.DEVICE_UID, G.WORKDATE, G.FACT_MIN_WORK FROM GLOBAL_WORK_BY_DAY("+BDATE+", "+FDATE+",-1,-1,'','',0,'0:00','0:00',0,1,0) G LEFT JOIN USERS U ON (G.UID=U.UID) ORDER BY U.FULLNAME, G.WORKDATE";
    //Str = "SELECT U.FULLNAME, U.TABNUM, U.DEVICE_UID, G.WORKDATE, G.FACT_MIN_WORK FROM GLOBAL_WORK_BY_DAY('01.11.2020','30.11.2020' ,-1,-1,'','',0,'0:00','0:00',0,1,0) G LEFT JOIN USERS U ON (G.UID=U.UID) ORDER BY U.FULLNAME, G.WORKDATE";
    попытка
        RS.Open(Str, ConnectionБД);
        //Сообщить ("Запрос - ОК");
    исключение
        Сообщить ("Проблемы с выполнением запроса к FireBird");
        возврат;
    КонецПопытки;
    
    
    ТаблицаТаймКонтрол.Очистить();

     Пока RS.EOF() = 0 Цикл
        
        НовСтрТК = ТаблицаТаймКонтрол.Добавить();
        НовСтрТК.ФИО  =RS.Fields("FULLNAME").Value;
        НовСтрТК.Дата = RS.Fields("WORKDATE").Value;
        НовСтрТК.КоличествоМинут = RS.Fields("FACT_MIN_WORK").Value;
        НовСтрТК.КоличествоЧасов = НовСтрТК.КоличествоМинут / 60;
        НовСтрТК.НомерДня =  День( НовСтрТК.дата);
        RS.MoveNext();
     КонецЦикла;
59 ЧессМастер
 
10.03.21
18:47
(49) >У меня вот работает сервер на 32 и подключаюсь я 64 битным клиентом.

Тогда объясни как может быть такое - если через COMОбъект("ADODB.Connection") через клиента все работает, а при использовании ПараметрыСоединенияВнешнегоИсточникаДанных через сервер с той же строкой подключения выдает

Ошибка при вызове метода контекста (УстановитьСоединение): Ошибка ODBC. SQLSTATE: 08004
Номер ошибки: -902
Описание: [ODBC Firebird Driver]Your user name and password are not defined. Ask your database administrator to set up a Firebird login.


я подчеркиваю - С ТОЙ ЖЕ СТРОКОЙ ПОДКЛЮЧЕНИЯ.
60 ЧессМастер
 
10.03.21
18:48
(50) >С правами там что то. Написано же черным по белому.

Строка подключения через клиент и через сервер ОДИНАКОВАЯ.

Но через клиент работает а через сервер нет.

Открываем гугл по поводу ошибки [ODBC Firebird Driver]Your user name and password are not defined. Ask your database administrator to set up a Firebird login.

и читаем

https://qna.habr.com/q/449495

"Надо было удалить Firebird для 64 bit и установить Firebird для 32 bit. Оказывается файл базы данных созданный в Firebird 32 bit, не открывается в Firebird 64 bit."
61 ЧессМастер
 
10.03.21
18:51
(52) >Черным по белому там написано не про права, а про логин/пароль.

Я тебе  еще раз говорю

Через клиент работает а через сервер нет. С ТОЙ ЖЕ СТРОКОЙ ПОДКЛЮЧЕНИЯ.

Я бы понял если бы в строке подключения через клиент было

UID=SYSDBA
PWD=masterkey


а через сервер что то другое. Но строка ОДИНАКОВАЯ.
62 Кирпич
 
12.03.21
10:44
(60) "Надо было удалить Firebird для 64 bit и установить Firebird для 32 bit. Оказывается файл базы данных созданный в Firebird 32 bit, не открывается в Firebird 64 bit."
Так это написал такой же специалист как и ты. На самом деле, переустановив Firebird, он просто снес настройки и поставил новые, по умолчанию.
63 ЧессМастер
 
09.04.21
23:39
(58) Спасибо за помощь.

Я сделал на мой взгляд намного удобной и проще. Подключил базу через Внешние источники данных, прописал таблицы. Далее с помощью 1С-ных запросов получаю данные, заполняю ТЗ и подаю на вход СКД.
64 ЧессМастер
 
09.04.21
23:42
(62) "Так это написал такой же специалист как и ты"

А ты что телепат что можешь определять квалификацию другого специалиста не видя и не зная что он делал ? Только не надо мне заливать что ты сам всегда со всем разбираешься и никогда не спрашиваешь ни у кого как это сделать. Так не бывает.
65 Кирпич
 
10.04.21
07:35
(64) "никогда не спрашиваешь"
Так ты спрашиваешь и не слушаешь, что тебе говорят. Нафиг спрашивать тогда.
Специалист ты конечно же хороший, только любой программист усомнится в утверждении, что "файл базы данных созданный в Firebird 32 bit, не открывается в Firebird 64 bit". А ты сходу веришь какому то школьнику, который написал это где то на заборе.
66 ДедМорроз
 
10.04.21
17:54
На самом деле,там не только от битности зависит,но и от версии - файл,созданный одной версией сервера,на другой не открывается,и в ошибке как раз и пишется,что файл не той версии.
Ну и потом,для firebird есть ODBC-драйвер как 32 бита,так и 64 и вот битность драйвера должна совпадать с битностью приложения,а совпадение с битностью сервера не требуется.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший