Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3      [все]
 Firebird 3.0 Embedded подключения с разных приложений  [new]
SHS_SHS
Member

Откуда:
Сообщений: 127
В FB2.5 Embedded без проблем подключался к базе с программы и с IBExpert одновременно. А FB3.0 Embedded ну никак не получается настроить. Прошу помощи.
В папке с программой лежат файлы:
plugins/engine12.dll
fbclient.dll
fbrmclib.dll
firebird.conf
firebird.msg
ib_util.dll
icudt52.dll
icudt52l.dat
icuin52.dll
icuuc52.dll
msvcp100.dll

Программа подключается через FIBPlus локальное соединение, пусть к fbclient.dll прописан.
IBExpert - Local, default, путь к fbclient.dll прописан.
В firebird.conf, как рекомендуется в http://www.ibphoenix.com/files/Embedded_fb3.pdf, прописал (если я правильно понял):
ServerMode = SuperClassic
Providers = Engine12

Вообще не прочувствовал разницы что с файлом firebird.conf, что вообще без него.

На компьютере установлен сервера FB2.5 на 3050 и FB3.0 на 3070 (запускается в виде приложения редко).
Результат: в рамках одного приложения можно делать сколько угодно соединения, с разных приложений пишет ошибку:
Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements.
I/O error during "CreateFile (open)" operation for file "........FDB".
Error while trying to open file.
Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.

По поводу процессов врет :) . Пробовал запускать несколько программ (вроде это разные процессы) с подключением к одной базе - работает.
Можно было бы подключить FB3.0 через сервер, но в теории Embedded и сервер могут быть разных версий. Хотелось бы писать и отлаживать программу на той версии FB Embedded, которая у клиента в программе.
22 авг 19, 11:51    [21955251]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Vlad F
Member

Откуда:
Сообщений: 1112
SHS_SHS,

Если требуются параллельные подключения, пусть даже и через embedded, то ServerMode должен быть Super, КМК.))
22 авг 19, 12:07    [21955280]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
hvlad
Member

Откуда:
Сообщений: 10765
SHS_SHS
с разных приложений пишет ошибку
...
Пробовал запускать несколько программ (вроде это разные процессы) с подключением к одной базе - работает.
Чем отличается "с разных приложений" и "запускать несколько программ" ?

PS Особенно порадовало вот это "вроде" - хоть какие-то знания об ОС, процессах и т.п. вообще присутствуют ?
22 авг 19, 12:10    [21955285]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
hvlad
Member

Откуда:
Сообщений: 10765
Vlad F
Если требуются параллельные подключения, пусть даже и через embedded, то ServerMode должен быть Super, КМК.))
Ещё раз попробуй: сначала прочитать, потом написать.
Не наоборот ! Оба пункта обязательны !
22 авг 19, 12:12    [21955288]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Vlad F
Member

Откуда:
Сообщений: 1112
hvlad,

Embedded в SurerClassic из разных приложений тоже должен пускать?
Посылаю голову пеплом.))
22 авг 19, 12:18    [21955301]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
SHS_SHS
Member

Откуда:
Сообщений: 127
hvlad
SHS_SHS
с разных приложений пишет ошибку
...
Пробовал запускать несколько программ (вроде это разные процессы) с подключением к одной базе - работает.
Чем отличается "с разных приложений" и "запускать несколько программ" ?

PS Особенно порадовало вот это "вроде" - хоть какие-то знания об ОС, процессах и т.п. вообще присутствуют ?

Готов к любым унижениям )).
А если по теме: как ни странно программу можно запустить сколько угодно раз с подключением к одной базе, попробовал IBExpert запустить несколько раз и подключится - не получилось, та же ошибка.
22 авг 19, 12:22    [21955307]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
hvlad
Member

Откуда:
Сообщений: 10765
SHS_SHS
как ни странно программу можно запустить сколько угодно раз с подключением к одной базе, попробовал IBExpert запустить несколько раз и подключится - не получилось, та же ошибка.
Значит IBE подключается не тем клиентом с не тем конфигом
22 авг 19, 12:26    [21955314]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
SHS_SHS
Member

Откуда:
Сообщений: 127
hvlad
SHS_SHS
как ни странно программу можно запустить сколько угодно раз с подключением к одной базе, попробовал IBExpert запустить несколько раз и подключится - не получилось, та же ошибка.
Значит IBE подключается не тем клиентом с не тем конфигом

IBExpert:
Сервер/протокол: Local, default
Server Version: Firebird 3.0
Database File: D:\zzzzz\Exe\DB\zzzzz.FDB
Connection string: D:\zzzzz\Exe\DB\zzzzz.FDB
Client Library File: D:\zzzzz\Exe\fbclient.dll
UserName, Password, Charset - SYSDBA, masterkey, UTF8

Программа:
  Database.ConnectParams.UserName := 'SYSDBA';
  Database.ConnectParams.Password := 'masterkey';
  Database.DatabaseName := gProgPath + 'DB\' + gProgName + '.fdb';
  Database.LibraryName := gProgPath + 'fbclient.dll';
  Database.ConnectParams.CharSet := 'UTF8';
  Database.SQLDialect := 3;

Вроде одинаково.
22 авг 19, 12:37    [21955331]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
SHS_SHS
Member

Откуда:
Сообщений: 127
hvlad
SHS_SHS
как ни странно программу можно запустить сколько угодно раз с подключением к одной базе, попробовал IBExpert запустить несколько раз и подключится - не получилось, та же ошибка.
Значит IBE подключается не тем клиентом с не тем конфигом

Пардон, не сразу понял про конфиг. Переименовал все firebird.conf - помогло. Запускается программа и IBExpert одновременно. Тогда вопрос, как научить IBExpert "смотреть" в нужный конфиг?
22 авг 19, 12:59    [21955358]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28567
SHS_SHS
Хотелось бы писать и отлаживать программу на той версии FB Embedded, которая у клиента в программе.

отлаживать - не надо. это геморрой. отлаживать надо на нормальном сервере. А перед отдачей клиенту проверить на embedded.
SHS_SHS
Тогда вопрос, как научить IBExpert "смотреть" в нужный конфиг?

embedded запускается через fbclient.dll. Оно и ищет конфиг. Следовательно, IBExpert-у в качестве клиентской библиотеки нужно указывать ту, рядом с которой лежит правильный конфиг.
22 авг 19, 13:03    [21955362]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
SHS_SHS
Member

Откуда:
Сообщений: 127
Кажется я понял в чем была моя основная ошибка.
Создавал и редактировал firebird.conf для Embedded во время запущенного IBExpert (без подключений). Считая что IBExpert будет использовать firebird.conf, который лежит рядом с fbclient.dll. Но IBE использовал, то что нашел ранее в сервере. Несколько раз перепроверил: убрал конфиг для Embedded запустил IBE, переименовал обратно, и все равно не подключается пока не перезапустишь IBE. Работаю на ноутбуке, перезапускаю IBE крайне редко (спящий режим).
Решение (может кому пригодится): чтобы подхватывало нужный конфиг, необходимо не только отключить все соединения, но и выйти с программ, которые когда либо были подключены к базе через Embedded.
P.S. Спасибо всем за помощь.
22 авг 19, 13:31    [21955410]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
SHS_SHS
Member

Откуда:
Сообщений: 127
kdv
...embedded запускается через fbclient.dll. Оно и ищет конфиг...

Да, естественно fbclient.dll ищет конфиг. Лето, мозг размяк.
Читать: "Считая, что IBExpert будет использовать firebird.conf...", как "Считая, что для IBExpert будет использоваться firebird.conf....".
22 авг 19, 13:48    [21955436]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28567
SHS_SHS,

да ё-моё. Embedded - это сервер в DLL. Сервер читает firebird.conf при старте. Для embedded "старт сервера" - это загрузка dll приложением.
То есть, IBE загрузил dll, она прочитала конфиг, и ... всё. Пока ИБЕ не "отпустит" dll, конфиг не перечитается.
А "отпустит" в основном означает - "пока не закроется программа, загрузившая dll Embedded".

p.s. в основном всё это непонимание идет от непонимания dll как таковых. Я в конце 90х прочитал кусок книжки по работе с Длл из Дельфи, и мне этого на всю жизнь хватило. Например, про FB Embedded было сразу всё понятно.
22 авг 19, 13:57    [21955456]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
SHS_SHS
Member

Откуда:
Сообщений: 127
Моих скудных познаний dll хватает для работы с ними. Вся проблема была в том, что dll Embedded если не находит конфиг рядом, берет его с сервера. И это логично. А IBE все подключенные dll (даже если они уже не прописаны настройках соединений) не отпускает до закрытия программы. Вот и получаем, что для того чтобы применить новый конфиг не достаточно закрыть соединение, а нужно еще и перезапустить IBE.
22 авг 19, 15:34    [21955639]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
hvlad
Member

Откуда:
Сообщений: 10765
SHS_SHS
dll Embedded если не находит конфиг рядом, берет его с сервера
Конечно это не так.
22 авг 19, 15:48    [21955651]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Arioch
Member

Откуда:
Сообщений: 11102
hvlad,

вопрос, что тут означает "с сервера"

возможно - "из папки с установленным на том же ПК Firebird в Program Files"

про прокачку данных по сети между раными компьютерами вообще вроде не говорили
22 авг 19, 15:53    [21955660]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
SHS_SHS
Member

Откуда:
Сообщений: 127
hvlad
SHS_SHS
dll Embedded если не находит конфиг рядом, берет его с сервера
Конечно это не так.

Да, действительно не берет с сервера (с папки установки FB3.0). Значит использует какие-то настройки по умолчанию.
22 авг 19, 16:08    [21955675]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
hvlad
Member

Откуда:
Сообщений: 10765
SHS_SHS
Значит использует какие-то настройки по умолчанию.
Конечно.

И это именно те значения, которые прописаны в неизменённом firebird.conf в качесте значений по-умолчанию.
22 авг 19, 16:10    [21955682]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28567
Arioch
возможно - "из папки с установленным на том же ПК Firebird в Program Files"

да нет же. Из папки, которая прописана в реестре через instreg.

p.s. склероз?
23 авг 19, 00:44    [21956116]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Arioch
Member

Откуда:
Сообщений: 11102
kdv,

для простоты и понимания написал "с установленными", хотя установщик тройки м.б. в реестр и не пишет
23 авг 19, 11:35    [21956328]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28567
Arioch,

чегой-то он не пишет? instreg отменили, он куда-то пропал?
А запустить processmonitor и посмотреть, где клиент пытается найти конфиг?
Или посмотреть, куда в реестре пишет instreg install, или убирает instreg remove?

:-) проблемы высосаны из пальца, всё это проверяется меньше чем за 5 минут с минимумом подручных средств.
23 авг 19, 13:30    [21956438]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
hvlad
Member

Откуда:
Сообщений: 10765
kdv,

а ты проверял ? ;)
23 авг 19, 13:32    [21956440]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28567
hvlad,

4? нет, не проверял. могу прямо сейчас проверить. И вообще, у вас readme к 4 нет, так что пока неизвестно, чем 4 отличается от 3.
23 авг 19, 16:58    [21956645]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Arioch
Member

Откуда:
Сообщений: 11102
kdv
чегой-то он не пишет?


как это не пишет???

21955675
SHS_SHS
с сервера (с папки установки FB3.0)
23 авг 19, 17:31    [21956671]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
hvlad
Member

Откуда:
Сообщений: 10765
kdv
hvlad,

4? нет, не проверял. могу прямо сейчас проверить. И вообще, у вас readme к 4 нет, так что пока неизвестно, чем 4 отличается от 3.
3 и 2.5

Ибо чушь про реестр и клиента пишете, ой какую чушь...
23 авг 19, 17:50    [21956678]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28567
hvlad
Ибо чушь про реестр и клиента пишете, ой какую чушь...

ок, чушь. А где это всё описано?

Допустим, открываю базу через embedded, т.е. fbclient.dll 4.0.
Вижу, что он пытается открыть firebird.conf и databases.conf в текущей папке, но в реестр обращений нет.
3.0 - тоже в реестр не лезет.

Зачем тогда instreg ?
23 авг 19, 18:57    [21956702]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
hvlad
Member

Откуда:
Сообщений: 10765
kdv
А где это всё описано?
А что - не описано ? Значит никому не надо, раз не заставляют описать ?
Я точно знаю, что много раз на всех заборах писал о том, что в реестр никто давно не смотрит.
Вот, например - тебе писал: 19319307

Чтение реестра выпилено в 2010 году, почему нет в документации - понятия не имею.
То же самое могу сказать про instreg.
Мне хватает других забот, в том числе с документацией "своей" работы.
23 авг 19, 19:53    [21956742]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Arioch
Member

Откуда:
Сообщений: 11102
hvlad
Я точно знаю, что много раз на всех заборах писал о том, что в реестр никто давно не смотрит.
Чтение реестра выпилено в 2010 году


1) вот вообще никто, или fbclient.dll ? есть же ещё fbserver.exe, есть .NET Provider & ODBC & Jaybird в конце концов, про разные библиотеки вне FB Project - PHP, Python, OLE IB Provider, Delphi, etc - тем более

2) заборы разные бывают, большинство, увы - одноразовые

Вот написал бы ты в c:\Program Files\Firebird\Firebird_2_1\doc\*.txt, что начиная с версий 2.0.N, 2.1.M, 2.5.L, 3.0.0 поиск message-файла и conf-файла ведётся fbclient по такой-то последовательности, а fbserver - по этакой, и что там насчет реестра и enrionment vars - и была бы официально закоммиченная дока в более-менее всем известном месте, а тех-райтерам остлось бы лишь копипастнуть
26 авг 19, 14:29    [21957661]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28567
Arioch,

на какой-то зарубежной конференции по ФБ Влад делал доклад на тему "последовательности". Но я что-то найти не могу.
26 авг 19, 14:38    [21957668]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
hvlad
Member

Откуда:
Сообщений: 10765
kdv,

Мюнхен 2009
26 авг 19, 14:39    [21957669]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28567
hvlad,

материалы 2008 продавались на двд. вероятно, материалы 2009 тоже не публиковались.
26 авг 19, 14:42    [21957671]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Arioch
Member

Откуда:
Сообщений: 11102
а даже если бы публиковались, то что?

словами Влада, а тикет на документацию в трекере он вешал, что этого не хватает ?
26 авг 19, 14:54    [21957680]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28567
Arioch,

если бы публиковались, было бы понятно.
"тикет" непонятно на что вешать. это же не баг, а просто либо "определенное поведение" либо "исправленное поведение".

Я разве что добавлю, что 2.5 точно берет запись из реестра. Потому что недавно у одного клиента сервер 2.5 выводил тотальную фигню, оказалось, что есть запись в реестре, которая указывает на firebird.msg от 1.5.
26 авг 19, 18:52    [21957856]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Arioch
Member

Откуда:
Сообщений: 11102
kdv,

рация - на бронепоезде

тикет вешать - на документацию и отсуствие в ней описания того-то и сего-то

и Симонова в исполнители
26 авг 19, 18:53    [21957859]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10378
Arioch,

чё это меня? Если я правильно понимаю трёшка и старше совсем не лезет в реестр. Вроде бы как никогда. За всякие там компонент доступа не использующие fbclient не ручаюсь. Пусть сами рассказывают что у них там.

В русской версии по поводу установки всё будет, но не так быстро. За остальное не обещаю.
26 авг 19, 19:24    [21957875]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28567
Arioch
и Симонова в исполнители

Симонов тут ни при чем. К примеру, на ФБ 4 релизноты есть? Нет, Хелен отходит от инсульта.
А в /doc что-то есть? Нет, там ХЕРОТЕНЬ еще от ФБ 2.0 и далее.
В текущем раскладе разработчики они же микро-документописатели, а у них либо разрабатывать, либо писать минимальную доку.
А 16 октября конференция по 4.0. Вот и дилемма -то ли выпускать релиз 4, то ли микро-доку писать.
27 авг 19, 00:35    [21957996]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28567
Arioch,

кстати. И вот тут бы кому-то подключиться, и например, поубирать всю старую херь из /doc, в смысле, указать разработчикам на конкретные файлы, в которых одно старьё.
Но нет, "Симонова в исполнители..."

p.s. тут я не знаю, смайлик надо добавлять, или нет. Самоорганизация сообщества когда-то произойдет, или так и будет монархическое правление?
27 авг 19, 00:38    [21957997]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
hvlad
Member

Откуда:
Сообщений: 10765
kdv
А в /doc что-то есть? Нет, там ХЕРОТЕНЬ еще от ФБ 2.0 и далее.
Ща буду грязно ругаться

https://github.com/FirebirdSQL/firebird/blob/master/doc/README.incompatibilities.3to4.txt
https://github.com/FirebirdSQL/firebird/blob/master/doc/README.read_consistency.md
https://github.com/FirebirdSQL/firebird/blob/master/doc/README.replication.md
https://github.com/FirebirdSQL/firebird/blob/master/doc/README.session_idle_timeouts
https://github.com/FirebirdSQL/firebird/blob/master/doc/README.statement_timeouts
https://github.com/FirebirdSQL/firebird/blob/master/doc/README.transaction_at_snapshot.md
https://github.com/FirebirdSQL/firebird/blob/master/doc/sql.extensions/README.aggregate_filter.md
https://github.com/FirebirdSQL/firebird/blob/master/doc/sql.extensions/README.cumulative_roles.txt
https://github.com/FirebirdSQL/firebird/blob/master/doc/sql.extensions/README.external_connections_pool
https://github.com/FirebirdSQL/firebird/blob/master/doc/sql.extensions/README.time_zone.md

это только новые файлы, обновлённые\дополненные я не перечислял
27 авг 19, 00:46    [21957998]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10378
kdv
А в /doc что-то есть?


существующий LangRef 4.0 на основе них и пополняется по горячим следам, не дожидаясь RN.
27 авг 19, 07:10    [21958024]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Док
Member

Откуда: Казань
Сообщений: 6536
Симонов Денис
Если я правильно понимаю трёшка и старше совсем не лезет в реестр. Вроде бы как никогда.

Не помню, как в инсталляторе, но, если запустить трешку в виде полноценного сервера из распакованного архива, то на голой винде (Win XP, Win7) приложение не может загрузить клиентскую библиотеку, потому что "не видит" msvcr100.dll.

Приходится либо прописывать ее в реестре прилагаемой в комлекте vccrt10_Win32.msi (спасибо, что положили), либо копировать в корень с прикладой, либо копировать все приложение в папку с тройкой и юзать как эмбеддед :)
27 авг 19, 08:35    [21958038]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Шавлюк Евгений
Member

Откуда: Одесса
Сообщений: 501
Я в своих программах устанавливаю переменную окружения FIREBIRD и больше никаких проблем с поиском библиотек
27 авг 19, 08:48    [21958046]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10378
Док,

насчёт XP не скажу. Выпилил я её отовсюду уже, а вот в Win7 трёшка у меня преспокойно работает из архива безо всяких там установок vccrt10

msvcr100.dll и так лежит в архиве прямо в корне. Кто копирует архив не целиком ССЗБ
27 авг 19, 09:31    [21958071]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Док
Member

Откуда: Казань
Сообщений: 6536
Шавлюк Евгений
Я в своих программах устанавливаю переменную окружения FIREBIRD и больше никаких проблем с поиском библиотек

это хорошо, если ты - "в этой гостинице администратор" ©, а если работаешь на разных машинах и приложение портабельное(с флешки, например), то иногда прав может просто не хватить.
Симонов Денис
в Win7 трёшка у меня преспокойно работает из архива безо всяких там установок vccrt10

ты будешь смеяться, но на "своей" семерке (из-под которой и работаю) у меня тоже проблем нет, а вот в виртуалке (и x32, и x64 Win7) - есть. Это я еще на макоси не пробовал :)
27 авг 19, 10:29    [21958116]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10378
Док,

ну я конечно сомневаюсь в чистоте своей ОСи, ибо программ там до фига, и возможно MS VCR поставил кто-то ещё. Но и в других местах пока проблем не замечал.
27 авг 19, 10:34    [21958120]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Arioch
Member

Откуда:
Сообщений: 11102
Док
иногда прав может просто не хватить.


на установку переменных окружения для своей прикладухи нужны права ? и давно ?

любой bat-ник выставит тебе переменные

в никсах тоже, только там вместо команды set команда export
27 авг 19, 12:11    [21958210]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Arioch
Member

Откуда:
Сообщений: 11102
Док
а вот в виртуалке (и x32, и x64 Win7) - есть


а это, вангую, потому что есть много разных vccrt10, и в WinSxS на виртуальках у тебя нужной версии не оказалось
27 авг 19, 12:12    [21958212]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Arioch
Member

Откуда:
Сообщений: 11102
kdv
И вот тут бы кому-то подключиться, и например, поубирать всю старую херь из /doc


курица и яйцо

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

кстати, такие части надо не убирать, а именно описывать как информацию валидную до версии такой-то и замещённую новой информацией начиная с версии такой-то

P.S. и да, "у кое кого" 9 тикетов висят на DOC-* и WEB-*, из которых ОДИН закрыт той самой Хелен, а остальные брошены.
Даже такой простейший тикет, как "файл нулевой длины" - http://tracker.firebirdsql.org/browse/DOC-119
27 авг 19, 12:16    [21958215]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Arioch
Member

Откуда:
Сообщений: 11102
Ну и до кучи ещё про документацию

http://tracker.firebirdsql.org/browse/CORE-5009
http://tracker.firebirdsql.org/browse/CORE-5187
27 авг 19, 12:18    [21958218]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Шавлюк Евгений
Member

Откуда: Одесса
Сообщений: 501
Док,

не нужны права для переменной в своей программе.
SetGlobalEnvironment('FIREBIRD', FolderWithfbclient_dll);

Сама функция
function SetGlobalEnvironment(const Name, Value: string; const Local: Boolean = True;
  const User: Boolean = True): Boolean;
resourcestring
  REG_MACHINE_LOCATION = 'System\CurrentControlSet\Control\Session Manager\Environment';
  REG_USER_LOCATION = 'Environment';
begin
  Result := Local;
  SetEnvironmentVariable(PChar(Name), PChar(Value));
  if not Result then
  with TRegistry.Create do
  try
    if User then { User Environment Variable }
      Result := OpenKey(REG_USER_LOCATION, True)
    else { System Environment Variable }
    begin
      RootKey := HKEY_LOCAL_MACHINE;
      Result  := OpenKey(REG_MACHINE_LOCATION, True);
    end;
    if Result then
    begin
      WriteString(Name, Value); { Write Registry for Global Environment }
      { Update Current Process Environment Variable }
      SetEnvironmentVariable(PChar(Name), PChar(Value));
      { Send Message To All Top Window for Refresh }
      SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, Integer(PChar('Environment')));
    end;
  finally
    Free;
  end;
end;
27 авг 19, 12:57    [21958252]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9867
Док
на "своей" семерке (из-под которой и работаю) у меня тоже проблем нет, а вот в виртуалке (и x32, и x64 Win7) - есть
"Вы просто не умеете их готовить".
Взял "золотую" семерку (образца 2009 года, без сервиспака, 64-разрядная редакция HomeBasic).
"Просто скопировал" дистрибутив FB "свежей сборки", и ... Оно работает. Пробирка - QEMU 4.1.0.

К сообщению приложен файл. Размер - 7Kb
27 авг 19, 14:38    [21958351]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9867
Arioch
а это, вангую
Не надо пророчествовать.
Если рантайм видимостудии не установлен или (почему-то) установлен более другой сборки, просто оставляем библиотеки видимостудии в каталоге FB.
27 авг 19, 14:46    [21958359]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Док
Member

Откуда: Казань
Сообщений: 6536
Шавлюк Евгений
не нужны права для переменной в своей программе.

спорить не буду - вопросом пока не владею :)

Но, если в системе 2 и более сервера, который FolderWithfbclient_dll будет "правильным"? И как это отразиться на подключении других приложений с другими серверами? Или достаточно выставить Local =True, чтобы разрешить все коллизии?

зы. функция с просторов инета найдена? Не родная делфевая?

Basil A. Sidorov
"Вы просто не умеете их готовить".

"Моя цвета не понимай ..." :) Я привел случаи, где и как я с этим столкнулся. Упомянутые мною семерки и XP - "чистые" микрософтовские изошники со WZORa, без апдейтов (зачем они мне на виртуалке)
28 авг 19, 14:19    [21959101]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Шавлюк Евгений
Member

Откуда: Одесса
Сообщений: 501
Док,
Да, найдена на просторах инета.
Эта настройка влияет только на текущую программу, никаких коллизий не вызывает.
Я читаю путь к fbclient из ini-файла (по-умолчанию клиента храню в папке с программой)
Больше никаких установок и 100% portable
28 авг 19, 14:54    [21959135]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9867
Док
Я привел случаи, где и как я с этим столкнулся. Упомянутые мною семерки и XP - "чистые" микрософтовские изошники со WZORa, без апдейтов (зачем они мне на виртуалке)
Ещё раз повторю, что я взял "золотой" образ семёрки от июля 2009 года.
Там не то, что обновления - SP1 отсутствует ибо вышел в осенью 2010.

P.S.
И насчёт обновлений вы зря - их разных есть.
28 авг 19, 16:38    [21959260]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Док
Member

Откуда: Казань
Сообщений: 6536
OFF
Basil A. Sidorov
P.S.
И насчёт обновлений вы зря - их разных есть.

Мне разные ОСи в виртуалке "чисто посмотреть", как отображается гуй и ведет себя софтина в разной ситуации. А обновления, в основном, для безопасности.
/OFF
28 авг 19, 18:10    [21959337]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9867
Док
Мне разные ОСи в виртуалке "чисто посмотреть", как отображается гуй и ведет себя софтина в разной ситуации. А обновления, в основном, для безопасности.
Во-первых, вести может по разному.
Во-вторых, для семёрки (некоторые) обновления можно в образ ещё до его установки и гораздо проще, чем в XP.
 KB982018 - improves the compatibility with Advanced Format Disks
KB2685811 и KB2685813 - user/kernel mode driver framework
практически, мастхэв для семёрки/сервер 2008R2
28 авг 19, 19:08    [21959368]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
axline
Member

Откуда:
Сообщений: 5
Мучаюсь с такой же проблемой - не подключиться к одной и той же базе из разных приложений.

Есть IBExpert, буквально вчера загруженный, в нем зарегистрирована база, прописан путь к 32-битной fbclient.dll (firebird 3.0.4 embedded). В firebird.conf всего две строчки:
Providers = Engine12
ServerMode = SuperClassic


Есть приложение, в корне которого рядом с экзешником лежит 64-битная fbclient.dll, с точно таким же firebird.conf. Версии firebird embedded одинаковы, отличается только битность.

Я могу открыть одну и ту же базу дважды в IBE. Приложений тоже могу запустить сколько угодно. Но сделать так, чтобы и приложение было запущено, и база открыта в IBE не получается. Если запустить приложение, а потом попытаться открыть базу в IBE, то вылетает ошибка:"lock manager error. Inconsistent lock table type/version; found 225/1:146, expected 225/1:18"

Больше в системе никаких версий Firebird нет, и не было. Только эти два embedded.
Вроде бы вот этот документ несколько раз перечитал, но то ли лыжи не едут...
7 ноя 19, 12:26    [22011413]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10378
axline,

дык тут вам не здесь. Лок менеджеры в 32 и 64-битной версии разные. Нельзя одну и ту же БД открыть движками разной разрядности, даже если версия одна и та же.

Какой раз уже задаю вопрос. Зачем вы себе геморрой на ровном месте устраиваете? Установи полноценную 64-битную версию FB и подключайся экспертом через TCP. А клиентское приложение пусть через embedded открывает.
7 ноя 19, 12:51    [22011437]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
hvlad
Member

Откуда:
Сообщений: 10765
axline
Версии firebird embedded одинаковы, отличается только битность.
Так не получится.
Размеры некоторых структур в общей памяти к сожалению зависят от разрядности.
7 ноя 19, 12:54    [22011440]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
axline
Member

Откуда:
Сообщений: 5
Симонов Денис, hvlad, спасибо большое, теперь понял.
Пойду ставить полноценный x64 сервер :)
7 ноя 19, 13:06    [22011456]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
axline
Member

Откуда:
Сообщений: 5
Вроде бы заработало все, помогло следующее (система Windows 10 x64):

- Firebird 3.0.4 SuperClassic ставится как приложение. Если ставить как службу, то ругается "Database is probably already opened by another engine instance in another Windows session".

- При установке в "Program Files", Firebird не может прочитать firebird.msg. Ругается на права доступа, не пишет firebird.log. Перенес в папку, где нет трудностей с доступом.

- в IBE в качестве протокола устанавливается TCP/IP, Client library=gds32.dll

- в приложении лежит embedded сервер той же версии, в firebird.conf указано:
Providers = Engine12
ServerMode = Classic


Вещи тривиальные, но для чайников (вроде меня) могут сохранить много времени.
7 ноя 19, 15:54    [22011645]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28567
axline
Если ставить как службу, то ругается "Database is probably already opened by another engine instance in another Windows session".

не верю. Верю только в ситуацию, когда к базе одновременно лезут из сервиса, и из embedded. Embedded банально не видит контекста сервиса, и наоборот.
Проверять даже не буду.
axline
Вещи тривиальные, но для чайников (вроде меня) могут сохранить много времени.

не надо мутить - не будет проблем. Архитектура ФБ, плюс 32/64 бит - любой программист должен это знать. Ну и еще про "что такое dll". Тогда не будет вопросов про embedded.

А так всё сводится к объяснению в сотый раз каких-то прописных истин.
axline
- в IBE в качестве протокола устанавливается TCP/IP, Client library=gds32.dll

и зачем ИБЕ понадобилось именно gds32.dll? Ему же всё равно. А gds32.dll каким образом получена?
7 ноя 19, 16:06    [22011656]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28567
axline,

да, и еще. Указывать Classic для Embedded нет никакого смысла. И даже хуже. Если будет 2 коннекта из приложения, то оно будет 2 раза жрать память для сортировок. Поэтому SuperClassic only.
7 ноя 19, 16:08    [22011658]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
axline
Member

Откуда:
Сообщений: 5
kdv
не верю. Верю только в ситуацию, когда к базе одновременно лезут из сервиса, и из embedded. Embedded банально не видит контекста сервиса, и наоборот.
Проверять даже не буду.


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

kdv
не надо мутить - не будет проблем. Архитектура ФБ, плюс 32/64 бит - любой программист должен это знать. Ну и еще про "что такое dll". Тогда не будет вопросов про embedded. А так всё сводится к объяснению в сотый раз каких-то прописных истин.


На поиск этих истин не один час был убит. FB для меня, как и Windows, вещи очень далекие, специализация другая. Но вот резко понадобилось освоить. Предполагаю, что я не один такой :)

kdv
и зачем ИБЕ понадобилось именно gds32.dll? Ему же всё равно. А gds32.dll каким образом получена?

Да, моя ошибка, она не нужна. С пустой строчкой прекрасно все работает.

kdv
да, и еще. Указывать Classic для Embedded нет никакого смысла. И даже хуже. Если будет 2 коннекта из приложения, то оно будет 2 раза жрать память для сортировок. Поэтому SuperClassic only.


Вот это тонкий момент. В документе дословно сказано: "Note, for the embedded engine, Classic and Superclassic are equivalent.". Это ошибка? Или этот документ устарел?
7 ноя 19, 16:50    [22011688]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 28567
axline
С пустой строчкой прекрасно все работает.

это значит, что fbclient.dll находится в системных папках или в PATH.
gds32.dll откуда явился? по умолчанию в настройках алиса ИБЕ? Почему бы не указать fbclient.dll явно???
axline
Это ошибка? Или этот документ устарел?

мне начать расказывать прописные истины, что такое embedded, и как работает exe+dll? И почему в данном случае classic и superclassic равнозначны? И почему, для собственного же понимания, всё-таки лучше прописать SuperClassic, чтобы не было двусмысленностей?
7 ноя 19, 17:41    [22011737]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
hvlad
Member

Откуда:
Сообщений: 10765
kdv
Если будет 2 коннекта из приложения, то оно будет 2 раза жрать память для сортировок.
Чего бы это ?

Classic\SuperClassic отличаются только для сетевого сервера - он либо запускает новые процессы для входящих коннектов, либо обслужавает всё сам.
Для embedded этого отличия, есс-но, нет.

PS Такие есть одно место, где есть разница между Classic и SuperClassic для embedded - Classic игнорирует значение linger, ибо считается что при дисконнекте процесс завершается.
7 ноя 19, 17:58    [22011765]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Старый плюшевый мишка
Member

Откуда:
Сообщений: 759
kdv

мне начать расказывать прописные истины, что такое embedded, и как работает exe+dll?


Дим, прописные истины - это 1НФ. Что такое embedded - прописная истина для членов Партии с 1905 года. А когда человеку впервые пришлось столкнуться именно с FB - откровений в единицу времени может оказаться многовата
7 ноя 19, 18:44    [22011842]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10378
hvlad,

хм. У меня написано что Linger нужен только для супера. А какой смысл его использовать для SC, если там всё равно кеш раздельный и небольшой
7 ноя 19, 18:45    [22011844]     Ответить | Цитировать Сообщить модератору
 Re: Firebird 3.0 Embedded подключения с разных приложений  [new]
hvlad
Member

Откуда:
Сообщений: 10765
Симонов Денис,

да, ты прав конечно же. Там есть дополнительне условие, на которое я не смотрел.
Так что - для движка SC и CS не отличаются совсем, никак.
Отличие есть только для сетевого сервера.
7 ноя 19, 19:09    [22011870]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3      [все]
Все форумы / Firebird, InterBase Ответить