I have a Firebird 2.0 database running on a remote Windows XP PC.
Using the ADO.net connection provider, I configure the connection as follows:
Dim x As New FirebirdSql.Data.FirebirdClient.FbConnectionStringBuilder
x.Database = "[hostname]:FileShare:/db/REMOTE_SVR.FDB"
x.UserID = "SYSDBA"
x.Password = "masterkey"
Dim y As New FirebirdSql.Data.FirebirdClient.FbConnection(x.ConnectionString)
y.Open()
Attempting to open the connection raises an FbException
, with the message «unavailable database».
Downloading the ODBC drivers and attempting to connect with those settings produces the same error message.
I have copied the database file to my development environment and verified that I can connect to x.Database = "c:testdbREMOTE_SVR.FDB"
with these settings (with a local install of Firebird 2.0 Server).
I have confirmed that the Firebird 2.0 Server is running on the remote PC. The fileshare in which the DB is located doesn’t require any login or permissions.
I’m probably doing something dumb, but I’m out of ideas.
asked Aug 12, 2016 at 10:41
0
Firebird will — by default — not open database files that are located on a network share. The file must be on a physical disk of the server. This is done to protect the database against corruption from incorrect or insufficient locking of the file (eg when accessed by multiple Firebird server processes from different machines).
So you need to move the database to one of the real drives of the machine that hosts the Firebird server process.
answered Aug 12, 2016 at 11:32
Mark RotteveelMark Rotteveel
99.1k188 gold badges137 silver badges192 bronze badges
9
My answer is not about setup connection using ADO.net, but I still try to answer how to connect to remote FDB from Windows.
-
In
firebird.conf
setRemoteFileOpenAbility
to 1. This parameter will allow your DBMS connect to DB located in remote folder. Also check thatRedirection
parameter is set to 0 or is commented with #. -
Download PSTools from https://learn.microsoft.com/en-us/sysinternals/downloads/psexec, unpack it.
-
From
PSTools
folder via CMD (started as admin) executepsexec -i -s cmd.exe
, accept agreement. -
In popped-up CMD’s window execute
whoami
to check that you are now identified asnt authoritysystem
. -
In that window execute such command:
net use z: \123.111.111.111my_share /persistent:yes
, where z
is a network drive letter, you want to assign, and 123.111.111.111my_share
is an address of your network share. If the command executed successfully you will see new network drive in the Explorer.
If you got System error 58
, try to execute command with specifying user/password in quotes like:
net use z: \123.111.111.111my_share /persistent:yes /user:"your username" "your password"
If in the future you will need to disconnect that network drive, perform step 3, then execute net use z: /delete
. Or just reboot OS.
- Now you can launch your client (ibexpert, dbeaver, etc.) and connect to remote FDB file:
- Server name:
localhost
- FDB file path:
Z:/path_to_FDB/some_db.FDB
answered Mar 11 at 16:42
qubasesx писал(а):Если в свойстве DatabaseName написать 192.168.0.5:C:ElektroizolatorBASE.FDB (свой ip и ПОЛНЫЙ (важно) адрес к exe-шнику
то всё чудесным образом начинает работать (проверено на 3-х компьютерах). Идиотизм если задуматься, но работает)))
Little_Roo, благодарю за мысль!
Вообще-то Птица позволяет коннетиться к нерасшаренной базе — чем я у себя в гимназии и пользуюсь — строка коннекта выводится (для директора и завуча) — а пионЭры базочку не…и не видят…. (вот я сволочь какая учительская )
qubasesx писал(а):Little_Roo писал(а):А может проще, и надежнее, убрать IBConnection и перейти на Zeos ?
А правда будет надёжнее? Я просто думал, что раз компонента до сих пор поставляется в лазаре, то она самая надёжная? Нет?
Насчет того, что до сих пор поставляется….хорошие, простые, понятные, надежные…до поры…жигули….
А вот если Вы хотите озаботиться некоем проектом, да над сетью (где клиентов явно >1), то ip, zeos, …» …и ради бога, не читайте советских газет…»(С)(профессор Преображенский)
В догонку —
при работе с Птицей — на локальной (своей машине) устанавливать ТОЛЬКО коннект TCP/IP
В путях — либо
localhost:{ваш путь к базе}
либо
127.0.0.1:{ваш путь к базе}
Да, совсем забыл, что было мне непонятно —
Ваша база локальная ? Тобишь каждая копия ея располагается на компах, чье число > 1 и редактирование доступно юзеру данного компа и не доступно остальным, или же эта база доступна по сети клиентам, и тогда появляется термин многопользовательский доступ… Или….???
Добрый день дорогие друзья! Сегодня разберем ошибки CheckPFR. Одна из самых частых ошибок, это ошибка «Unavailable database».
Если у Вас не получается самостоятельно решить данную проблему, то Вы можете перейти в раздел ПОМОЩЬ и Вам помогут наши специалисты.
Начнем по порядку.
У меня была старая версия чек ПФР. Я решил в ней проверить свой отчет. После чего у меня появилось несколько ошибок.
Ошибка «InterBase library gds32.dll not found in the path. Please install InterBase to use this functionalite»
И ошибка «Access violation at address 005D0373 in module “Check.exe”. Read of address 00000000»
Конечно же отчет я проверить не смог. Будем разбираться.
Исправляем ошибки чек ПФР (CheckPFR): «InterBase library gds32.dll not found in the path. Please install InterBase to use this functionalite»
и
«Access violation at address 005D0373 in module “Check.exe”. Read of address 00000000»
Для того, чтобы исправить эти ошибки просто обновим программу.
Обновляем программу CheckPFR
Захожу на сайт пенсионного фонда и вижу там два архива с программой. Какой архив качать? Качать придется оба архива. На официальном сайте все это выглядит вот так.
Качаем оба архива.
Теперь важный момент. Нам нужен только «CheckPFR_28.02.2017.part1». Для того, чтобы его успешно распаковать нужно нажать по архиву правой кнопкой и выбрать «Свойства».
Затем в свойствах архива нажимаем кнопку «Разблокировать», потом нажимаем «OK».
Теперь распаковываем архив.
Если все хорошо, то все распакуется хорошо и Вы увидите распакованных архив. НО! Вы можете увидеть и вот такое.
Исправляем ошибку распаковки архива CheckPfr
И так у нас ошибка: «Ошибка CRC в «setupCheckPfr28_02_2017.exe». Файл испорчен».
Эта ошибка бывает в двух случаях. Первый: архив не полностью скачался с интернета. Второй случай: Вы не скачали второй архив.
Как же выйти из этой ситуации. Да все очень просто. Скачайте оба архива по новой. Или же для Вашего удобства я сам все распакую и разблокирую, а Вам останется только скачать.
Скачать программу CheckPFR (версия 1.1.49 от 19 июля 2017 года)
Идем дальше. Скачиваем мой файл, который я бросил чуть выше. И приступаем к установке. Но установку, как бы странно это не звучало, мы начнем с удаления старой версии CheckPFR.
Заходим в папку со старым чек ПФР. Как правило, она находится в корне диска С. Вот по такому пути: «C:CheckPfr». Если у Вас такой папки нет, то найдем куда установлен наш Чек ПФР. Для этого по ярлыку нажмем правой кнопкой и выберем кнопку «Расположение файла».
Откроется папка с нашей программой. Теперь нам нужно открыть файл, который называется «unins000.exe»
Нажмем на файл 2 раза левой кнопкой, чтобы его запустить. Увидим вот такое окно. Нажмем «ДА».
После того, как удаление завершится Вы увидите такое окно. Просто нажимаем «OK»
Все удаление закончилось. Теперь установим CheckPfr
Установка CheckPfr
Открываем наш файл для установки.
Запускаем двойным кликом и устанавливаем.
Выложу картинки по очереди, где и какой пункт выбирать.
1. Лицензионное соглашение. Выбираем «Я принимаю условия соглашения» и ждем «Далее»
2. Далее выбираем путь установки. Я советую оставить все по умолчанию и ни чего не менять, просто нажать «Далее». Если Вы хотите исправить путь, то нажмите «Обзор» и выберите свой путь для установки.
Может появится еще такое окно. Просто нажмите «ДА»
3. Теперь самый важный пункт во всей установке. Видим вот такое окно и обязательно, ОБЯЗАТЕЛЬНО!!! Выбираем пункт «Переносная (встроенный Firebird)». Нажимаем «Далее»
Может появиться и вот такое окно, просто нажмите “ДА”
4. Выбираем пункт в «Пуск». Ну или просто нажимаем «Далее»
5. Создаем ярлыки. Нажимаем «Далее»
6. Если все сделано верно, нажимаем «Установить»
7. Наблюдаем процесс установки.
8. Завершение установки. Нажимаем «Завершить»
Все установилось. Ошибок при открытии программы появиться не должно. Теперь протестируем. Попробуем проверить отчет. Я просто перенес отчет на окно с программой. Появилось наименование отчета и его название, теперь нажимаем «Проверить выбранный файл».
И видим в браузере вот такой результат. Если Вы видите у себя такое окошко, значит программа работает верно!
Все работает.
Теперь немного теории, почему же все таки была у нас наша ошибка «Unavailable database».
Ошибка «Unavailable database»
Эта ошибка появляется, когда у Вас проблема с программой под названием «Firebird». Это такая программа, которая связывает саму программу и базу данных. Если Firebird старый или ни запущен, ни установлен, поломался, то у Вас будут постоянные ошибки с программой или программа просто откажется работать. Firebird можно установить отдельно от программы CheckPfr. Просто в данном случае, когда мы выбрали пункт встроенный Firebird при установке, программа установила Firebird прямо в саму программу. Проверить работает и запущен ли Firebird можно проверить в «Диспетчере задач Windows».
Давайте это проделаем. Откроем диспетчер задач. Для этого на панели «Пуск» в свободном месте нужно нажать правой кнопкой мыши и выбрать пункт «Запустить диспетчере задач »
Откроется вот такое окно. Нам для начала нужно перейти на вкладку «Процессы». При этом CheckPfr должен тоже быть открыт. В этом окне нам нужно найти 2 пункта: «fbguard.exe» и «fbsever.exe». При этом посмотрите, чтобы стояла галочка «Отображать процессы всех пользователей». Если эти две строчки у Вас есть, то это уже хорошо.
Теперь идем в соседнюю вкладку «Службы». Тут нам нужно найти тоже 2 строки: «FirebirdGuardianDefaultInstance» и «FirebirdServerDefaultInstance». И рядом с этими строчками должна быть надпись «Работает». Это значит что наш Firebird работает и с ним нет ни каких проблем.
Иногда бывает такое что вместо надписи «Работает», бывает надпись «Остановлено». Это значит наша служба остановлена и из-за этого может быть наша ошибка «Unavailable database».
Для того чтобы запустить наши службы, нужно нажать по одной из нажать правой кнопкой мыши и выбрать пункт «Запустить службы».
И Вы снова увидите как наши службы успешно работают и наша ошибка «Unavailable database» должна пропасть.
Что же касается других наших ошибок.
Ошибки чек ПФР (CheckPFR): «InterBase library gds32.dll not found in the path. Please install InterBase to use this functionalite»
и
«Access violation at address 005D0373 in module “Check.exe”. Read of address 00000000».
Если Вам нужна помощь профессионального системного администратора, для решения данного или какого-либо другого вопроса, перейдите в раздел ПОМОЩЬ, и Вам помогут наши сотрудники.
Другого решения, как обновить программу или заново ее переустановить нет.
На этом все! Если будут вопросы задавайте их в комментариях! Всем удачи и добра!
← →
Xmen
(2009-12-05 13:58)
[0]
Не могу соединится с базой выходить ошибка unavailable database.
Сегодня установил Delphi 7 Lite Edition 7.3.3.2 и установил другие компоненты. Работал с базой FireBird 2.0. Работал с базой без проблем, просто Делфи при загрузки и выходе выдавал ошибок изза этого переустановил. Программа работающая. Думаю что в Lite версии нужно где то установит клиент для базы, сами компоненты видны. Здесь пишу так как не знаю еще где можно писать. у кого небуд было такое как можно это исправить.
← →
YurikGL ©
(2009-12-05 14:06)
[1]
Попробуй на «нулевой» системе.
Проверь, правильные ли GDS32.dll используются для соединения (в том случае, если ставились разные версии FB или IB).
Ну и название хоста путь…
з.ы. еще проверь, подключается ли к базе IBExpert
← →
turbouser ©
(2009-12-05 15:29)
[2]
> Xmen (05.12.09 13:58)
> Сегодня установил Delphi 7 Lite Edition 7.3.3.2
ССЗБ
> Xmen (05.12.09 13:58)
> unavailable database
Такое может показываться из-за множества причин.
← →
antoxa
(2009-12-06 13:25)
[3]
GDS32.dll не той версии ( т.е. не от того сервера, который установлен на машине с БД)
← →
Xmen
(2009-12-07 08:02)
[4]
Но проги которые уже скомпилированы работают.
Может в лайт версии не установился клиент для интербэс?
>>з.ы. еще проверь, подключается ли к базе IBExpert
работает!
Но когда открыл проект то он выдаёт такую ошибку а сама программа которая скомпилирован раньше работает
← →
Xmen
(2009-12-07 08:25)
[5]
> antoxa (06.12.09 13:25) [3]
> GDS32.dll не той версии ( т.е. не от того сервера, который
> установлен на машине с БД)
спасибо заменил его на боле новый и заработало прога.
← →
Роман
(2010-05-13 13:14)
[6]
Народ помогите, Весь мозг себе вынес.
Скажу сразу с Firebird ранее не работал с Интербейс давно и не много и не через дельфи. О том что Firebird это клон Интербейса и проблем не должно быть наслышан но они у меня есть.
Я установил
Firebird 2.1
SQL Manager for InterBase & Firebird
и дельфи 7.
Создал базу с помощью SQL Manager for InterBase & Firebird в дельфи кидаю на форму компонент IBDatabase указываю путь к файлу базы, ставлю конект trye? ввожу имя SYSDBA и пароль masterke но мне выдаёт unavailable database.
Подскажите где я туплю. Эта сфера для меня почти не извесна и я никак не могу понять где я не прав. зарание спасибо
← →
Sergey13 ©
(2010-05-13 13:22)
[7]
> [6] Роман (13.05.10 13:14)
> Весь мозг себе вынес.
Заметно. Поднимать ЧУЖМЕ топики полугодичной давности — это вовсе без ума надо быть.
← →
Роман
(2010-05-13 13:25)
[8]
я ранее никогда не спрашивал ничего на форумах. Посчитал что новую тему заводить не стоит. за это вроде ругают
← →
Sergey13 ©
(2010-05-13 13:35)
[9]
> [8] Роман (13.05.10 13:25)
> я ранее никогда не спрашивал ничего на форумах.
Ну так спроси. Предварительно ознакомившись с правилами
http://www.delphimaster.ru/forums.shtml#rule
и советами про задавание
http://segfault.kiev.ua/smart-questions-ru.html
evil0o 5 / 5 / 2 Регистрация: 04.07.2010 Сообщений: 200 |
||||
1 |
||||
14.03.2013, 00:18. Показов 40150. Ответов 10 Метки нет (Все метки)
пытаюсь подключиться к базе данных интербейс
Миниатюры
0 |
5 / 5 / 2 Регистрация: 04.07.2010 Сообщений: 200 |
|
14.03.2013, 00:28 [ТС] |
2 |
решил проблему адрес к бд должен иметь вид localhost:c:dirdata.gdb Добавлено через 42 секунды Добавлено через 3 минуты
0 |
arni 912 / 877 / 62 Регистрация: 06.01.2010 Сообщений: 2,367 Записей в блоге: 6 |
||||
14.03.2013, 08:33 |
3 |
|||
Но как сделать чтоб в одной папке с программой? а если так? Код localhost:data.gdb а вообще, путь к папке с программой можно получить и склеить с именем базы:
2 |
0 / 0 / 0 Регистрация: 10.08.2012 Сообщений: 101 |
|
06.04.2013, 17:41 |
4 |
Люди помогите! Я не могу подключитца к базе данных, пишетца — unavailabe database. Подскажите пожалуйста, где выставить путь к базе данных? У меня она хранитца вот тут — C:filesdatabexample.gdb
0 |
9 / 9 / 5 Регистрация: 05.02.2012 Сообщений: 147 Записей в блоге: 1 |
|
13.06.2013, 21:26 |
5 |
изменил путь на localhost:c:UsersRino256Documentsfb_projBDAVT O.FDB. Выдает ошибку connection reject by remote interface . Файрвол я отрубил. Подскажите где еще может быть проблема???
0 |
912 / 877 / 62 Регистрация: 06.01.2010 Сообщений: 2,367 Записей в блоге: 6 |
|
13.06.2013, 22:28 |
6 |
algoritm256,
остановите ФБ как сервис Добавлено через 1 минуту
0 |
9 / 9 / 5 Регистрация: 05.02.2012 Сообщений: 147 Записей в блоге: 1 |
|
14.06.2013, 13:48 |
7 |
Левые библиотеки грохнул, однако ошибка вылетает. Фаерволл вообще отключил, а антивира нет Вот лог firebird Код COMP (Client) Fri Jun 14 11:24:45 2013 Guardian starting: "C:Program FilesFirebirdFirebird_2_5binfbserver.exe" COMP (Server) Fri Jun 14 11:25:35 2013 SERVER/process_packet: connection rejected for RINO256.-1.-1 COMP (Server) Fri Jun 14 15:45:13 2013 SERVER/process_packet: connection rejected for RINO256.-1.-1
0 |
912 / 877 / 62 Регистрация: 06.01.2010 Сообщений: 2,367 Записей в блоге: 6 |
|
14.06.2013, 14:21 |
8 |
algoritm256,
0 |
9 / 9 / 5 Регистрация: 05.02.2012 Сообщений: 147 Записей в блоге: 1 |
|
14.06.2013, 17:56 |
9 |
да, я всегда ее запускаю как приложение.
algoritm256, Простите пожалуйста, я вас не совсем понял. Строка подключения- это там где вводят логин и пароль или в логах что-то такое??
0 |
9 / 9 / 5 Регистрация: 05.02.2012 Сообщений: 147 Записей в блоге: 1 |
|
15.06.2013, 13:52 |
10 |
Кажется проблема с коннектом решена: конектился не через FireBird, а через InterBase, но вылетает вот такая ошибка (на скрине). Может я не правильно понял, но походу структура базы не поддерживается или я ошибаюсь?? Миниатюры
0 |
912 / 877 / 62 Регистрация: 06.01.2010 Сообщений: 2,367 Записей в блоге: 6 |
|
15.06.2013, 15:47 |
11 |
да, зоопарк разных серверов: база созданая в одном, не будет открываться совершенно другим.
1 |