|
Не подключается в базе 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 и вот битность драйвера должна совпадать с битностью приложения,а совпадение с битностью сервера не требуется. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |