Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Не подключается в базе Firebird. Через консоль подключается.

Не подключается в базе Firebird. Через консоль подключается.
Я
   ЧессМастер
 
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
Сейчас выяснится, что этот код &НаСервере...
   acht
 
4 - 03.03.21 - 20:47
64x32
   Кирпич
 
5 - 03.03.21 - 20:48
мож "CLIENT=C:\Program Files (x86)\Firebird\Firebird_2_1\bin\fbclient.dll";
   vovastar
 
6 - 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) Что делать - БД пропускной системы на нем крутится.
   Gimalaj
 
10 - 04.03.21 - 12:29
(8) >> Я правильно понимаю что для того чтобы подключить внешний источник данных надо...
Да, все верно.
   Gimalaj
 
11 - 04.03.21 - 12:32
А вообще, никогда не понимал людей, пишущих: ConnectionString = "DRIVER=такой-то, DBNAME=такая-то, UID=такой-то и т.д.".
Намного проще создать в системе DSN, а в коде написать "dsn=такой-то".
   ДенисЧ
 
12 - 04.03.21 - 12:35
(11) Хорошо, что мне не приходилось править твой такой код...
   Gimalaj
 
13 - 04.03.21 - 12:36
(12) ОК, аргументируй. Что не так?
   ДенисЧ
 
14 - 04.03.21 - 12:38
(13) Лишние движения телом.
   ДенисЧ
 
15 - 04.03.21 - 12:39
И переносимость. Забудешь ты притащить в прод свой дсн и ага.
   Gimalaj
 
16 - 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.

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

Что бросается в глаза - версия драйвера на сервере другая. Может при изменении версии драйвера поменялся синтаксис подключения ?
   Fram
 
19 - 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 и всё будет работать.
   Gimalaj
 
36 - 09.03.21 - 15:45
(31) Значит, что-то у тебя не так. У меня точно такая же ситуация: база изначально работала с х32-приложением, потом понадобился доступ к ней из 1С. В настоящее время мы работаем с этой базой данных как из 32-разрядного дельфёвого приложения, так и из 64-разрядного сервера 1С.
   Gimalaj
 
37 - 09.03.21 - 15:47
Создай на сервере, где развернут сервер 1С источник DSN и протестируй оттуда.
   Кирпич
 
38 - 09.03.21 - 15:49
(37) Да автор уже, наверное, доложил начальству о фатальной ошибке в Fierbird и успокоился :)
   Кирпич
 
39 - 09.03.21 - 15:50
уж неделя прошла
   Gimalaj
 
40 - 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
С правами там что то. Написано же черным по белому.
   Gimalaj
 
51 - 09.03.21 - 17:04
(47) Речь в (37) идет НЕ про внешние источники данных.Речь там идет вообще не про 1С.
Открой в Виндоус "Панель управления" - "Администрирование" - "Источники данных ODBC (64-разрядная версия)". Создай DSN и в созданном DSN ты сможешь протестировать соединение с Firebird.
   Gimalaj
 
52 - 09.03.21 - 17:05
(50) Черным по белому там написано не про права, а про логин/пароль.
   Gimalaj
 
53 - 09.03.21 - 17:20
(48) "Упрямство - первый признак тупости" (с) Глеб Жеглов, "Место встречи изменить нельзя", по-моему 3-я серия.
   Кирпич
 
54 - 09.03.21 - 17:32
(52) Ну как бы нет имени и пароля - нет прав
   Garykom
 
55 - 09.03.21 - 17:37
(0) Лично я использую прокладку на Golang для работы с внешними БД из 1С
Ибо внешние источники данных слегка задолбали, на сервере часто прав нету - злобные админы
   Garykom
 
56 - 09.03.21 - 17:38
(55)+ Если надо то могу сваять и выложить для Firebird
   Garykom
 
57 - 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 и вот битность драйвера должна совпадать с битностью приложения,а совпадение с битностью сервера не требуется.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.