335544721 ошибка смета ру

>

путь к базе данных указан неверно.Дополнительная информация об ошибке:GDSCODE = 335544721.Исключительная ситуация EIBInterBaseError в модуле SmetaRu.exe.Unable to complete network request to host «1-РџРљ».Failed to locate host machine.Ошибка произошла при переустановке версии 7 на 8

Уберите в пути к БД в файле GDBPath имя компьютера — оно у вас русскими буквами, interbase не дружит с ними)

Х:StroySoftSmeta.ruClientData — путь до файла GDBPath.net (открывается блокнотом)

СПАСИБО, все работает!

А можно поподробнее описать, то я не понимаю как это сделать Уберите в пути к БД в файле GDBPath имя компьютера — оно у вас русскими буквами, interbase не дружит с ними)

Заходите на диск с предустановленной Smeta.ru.Далее StroySoftSmeta.ruClientData, там лежит файл GDBPath.net, открываете его блокнотом или другим текстовым редактором.В нем указан путь к БД. (C:StroySoftServerBaseDataSD.ssd) Если перед меткой тома есть еще что-нибудь(HPredirect:C:StroySoftServerBaseDataSD.ssd), удалите.

Спасибо, всё получилось))))

Этой
инструкцией предусмотрено решение проблемы запуска программы с ошибкой:

Unable to complete network request to host
«localhost». Failed to establish a connection. 
-902 335544721

1. Зайдите
в [Панель управления] —
[Администрирование] — [Службы
] и проверьте состояние
службы Firebird
Server
. Служба должна находиться в
состоянии «Выполняется»:

(Служба Firebird Guardian в версиях начиная с 2016.8 по умолчанию может отсутствовать, это не является проблемой)

Если
служба остановлена, запустите ее:

Если служба выполняется, переходите к выполнению п. 2

2. Зайдите
в [Панель управления] —
[Брандмауэр windows]
[Включение и отключение брандмауэра Windows] и отключите брандмауэр:

Затем
попробуйте запустить программу. Если ошибка не
повторяется и программа запустилась, значит нужно
прописать порты в брандмауэр. Если не запустилась — переходите к п. 3

Для
добавления портов в брандмауэр:

а) Зайдите в [Панель управления] — [Брандмауэр windows]
— [Дополнительные параметры]

б) Выберите [Правила для входящих подключений] и нажмите [Создать
правило]:

в) Выберите тип правила «Для порта» и нажмите Далее:

г) Выберите «Протокол TCP» и укажите диапазон локальных портов с 3050 по 3051 и нажмите Далее:

e) Выберите «Разрешить подключение» и нажмите Далее:

ж) Установите галочки для всех
профилей и нажмите Далее:

з) Введите произвольное имя для
создаваемого правила и нажмите Готово:

и) Выберите [Правила для исходящих подключений] и и нажмите
[Создать правило]:

к) Повторите действия по аналогии с пункта «в)» по пункт «з)» для исходящего подключения

л) Зайдите в [Панель управления] — [Брандмауэр
windows] — [Включение и отключение брандмауэра Windows] и включите брандмауэр

3. Отключите
антивирусную программу. Как правило это можно сделать нажатием правой кнопки
мыши на ярлыке программы в системном трее в нижнем правом углу экрана.

Затем
попробуйте запустить программу Автодилер. Если программа запустится нормально,
значит антивирусная программа блокирует порты 3050-3051.

Ввиду
большого количества разнообразных антивирусных программ, их модификаций и
версий — универсальной инструкции
по настройке антивируса нет. Вам следует обратиться к
вашему системному администратору.

From IBOBjects FAQ

Is there a way to detect a lost connection and try to reconnect
automatically, without user action?

Hook into the OnError event and look for the ERRCODE that denotes a
lost connection. Then, you can take whatever action you deem necessary
to deal with the problem. If the connection is lost you need to do a
disconnect and then connect again.

And from one of the base members of the IBObjects:

However, perhaps the «something» you are missing is that, if the
connection is broken by an external cause, the client application has
no way to know that it is not still connected. Its first knowledge of
that fact will come the next time it tries to access the server. The
API will report «Connection lost to database» and return GDSCODE
335544741, which is identified by the constant
isc_lost_db_connection.

At the point where this exception occurs, the TIB_Connection still
thinks it is connected — the Connected property will be true. If you
try to reconnect by calling Connect, you will get an IBO exception.
It is necessary to call Disconnect. This does not simply reset a
property. The Disconnect method performs all of the necessary cleanup
to invalidate the broken transactions and cancel any now invalid
postings, datasets and caches. Once Disconnect has completed its
work, you can then place a Connect call inside a retry loop and
attempt to get going again.

I do not know of a working example, but the simplest way to deal with
this is to write a RestoreConnection handler procedure that you can
call from your IB_Session.OnError handler whenever argument ERRCODE
returns isc_lost_db_connection.

Have your RestoreConnection procedure do whatever you need to do,
trying to call Connect and handling the exception that occurs if the
request fails, until no exception occurs. Test the Connected property
after each iteration. When Connected is finally True, you are in
business. You can drop out of the retry code and inform the user that
the connection has been restored — perhaps with a sound and/or a
message in the status bar, to avoid having to show a dialog box that
she has to respond to. (if you like the idea of sound and status bar
cues, you could devise «connection lost» warning sound and status bar
message code to run at the beginning of your handler procedure as
well…)

If these broken connections are a frequent occurrence, you might like
to consider making a distinctive custom cursor that you can display
while your procedure is running, and enclose the retry code in a
non-yielding BeginBusy…EndBusy block with UseCursor enabled and
BusyCursor set to use this special cursor image.

And if re-establishing a connection is likely to take a long time, or
to be temporarily impossible, you would need to provide the ability
for the user to intervene and choose not to keep trying. You can use
the session timer for this, enclosing your «busy» block inside
another iterative block the prompts the user to «Cancel» or «Keep
Trying», at reasonable intervals.

Source

Этой
инструкцией предусмотрено решение проблемы запуска программы с ошибкой:

Unable to complete network request to host
«localhost». Failed to establish a connection. 
-902 335544721

1. Зайдите
в [Панель управления] —
[Администрирование] — [Службы
] и проверьте состояние
службы Firebird
Server
. Служба должна находиться в
состоянии «Выполняется»:

(Служба Firebird Guardian в версиях начиная с 2016.8 по умолчанию может отсутствовать, это не является проблемой)

Если
служба остановлена, запустите ее:

Если служба выполняется, переходите к выполнению п. 2

2. Зайдите
в [Панель управления] —
[Брандмауэр windows]
[Включение и отключение брандмауэра Windows] и отключите брандмауэр:

Затем
попробуйте запустить программу. Если ошибка не
повторяется и программа запустилась, значит нужно
прописать порты в брандмауэр. Если не запустилась — переходите к п. 3

Для
добавления портов в брандмауэр:

а) Зайдите в [Панель управления] — [Брандмауэр windows]
— [Дополнительные параметры]

б) Выберите [Правила для входящих подключений] и нажмите [Создать
правило]:

в) Выберите тип правила «Для порта» и нажмите Далее:

г) Выберите «Протокол TCP» и укажите диапазон локальных портов с 3050 по 3051 и нажмите Далее:

e) Выберите «Разрешить подключение» и нажмите Далее:

ж) Установите галочки для всех
профилей и нажмите Далее:

з) Введите произвольное имя для
создаваемого правила и нажмите Готово:

и) Выберите [Правила для исходящих подключений] и и нажмите
[Создать правило]:

к) Повторите действия по аналогии с пункта «в)» по пункт «з)» для исходящего подключения

л) Зайдите в [Панель управления] — [Брандмауэр
windows] — [Включение и отключение брандмауэра Windows] и включите брандмауэр

3. Отключите
антивирусную программу. Как правило это можно сделать нажатием правой кнопки
мыши на ярлыке программы в системном трее в нижнем правом углу экрана.

Затем
попробуйте запустить программу Автодилер. Если программа запустится нормально,
значит антивирусная программа блокирует порты 3050-3051.

Ввиду
большого количества разнообразных антивирусных программ, их модификаций и
версий — универсальной инструкции
по настройке антивируса нет. Вам следует обратиться к
вашему системному администратору.

Здравствуйте. Пытаюсь освоить работу с СУБД firebird из под java. Написал такой вот код, который должен по-идее подключиться к БД:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
 
public class Main {
    public static void main(String[] args) {
        try {
            String url = "jdbc:firebirdsql://localhost/3050//home/bond12/1/1.fdb";
 
            Properties props = new Properties();
            props.setProperty("user", "sysdba");
            props.setProperty("password", "1234");
            props.setProperty("encoding", "UTF8");
 
            Class.forName("org.firebirdsql.jdbc.FBDriver");
            try {
                Connection connection = DriverManager.getConnection(url, props);
            } catch (SQLException e) {
 
                e.printStackTrace();
            }
        } catch (ClassNotFoundException e) {
 
            e.printStackTrace();
        }
        return;
    }
}

При попытке его выполнить вываливаются следующие ошибки:

Код

java.sql.SQLNonTransientConnectionException: Unable to complete network request to host "localhost". [SQLState:08006, ISC error code:335544721]
	at org.firebirdsql.gds.ng.FbExceptionBuilder$Type$5.createSQLException(FbExceptionBuilder.java:598)
	at org.firebirdsql.gds.ng.FbExceptionBuilder$ExceptionInformation.toSQLException(FbExceptionBuilder.java:492)
	at org.firebirdsql.gds.ng.FbExceptionBuilder.toSQLException(FbExceptionBuilder.java:223)
	at org.firebirdsql.gds.ng.wire.WireConnection.socketConnect(WireConnection.java:236)
	at org.firebirdsql.gds.ng.wire.FbWireDatabaseFactory.performConnect(FbWireDatabaseFactory.java:50)
	at org.firebirdsql.gds.ng.wire.FbWireDatabaseFactory.connect(FbWireDatabaseFactory.java:39)
	at org.firebirdsql.gds.ng.wire.FbWireDatabaseFactory.connect(FbWireDatabaseFactory.java:32)
	at org.firebirdsql.jca.FBManagedConnection.<init>(FBManagedConnection.java:145)
	at org.firebirdsql.jca.FBManagedConnectionFactory.createManagedConnection(FBManagedConnectionFactory.java:599)
	at org.firebirdsql.jca.FBStandAloneConnectionManager.allocateConnection(FBStandAloneConnectionManager.java:65)
	at org.firebirdsql.jdbc.FBDataSource.getConnection(FBDataSource.java:109)
	at org.firebirdsql.jdbc.FBDriver.connect(FBDriver.java:114)
	at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
	at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:189)
	at Main.main(Main.java:26)
Caused by: java.net.ConnectException: В соединении отказано (Connection refused)
	at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)
	at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)
	at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)
	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
	at java.base/java.net.Socket.connect(Socket.java:609)
	at org.firebirdsql.gds.ng.wire.WireConnection.socketConnect(WireConnection.java:226)
	... 11 more

При этом: База данных 1.fdb существует по пути: /home/bond12/1/
Для SYSDBA задан пароль 1234, с помощью isql-fb всё нормально работает.

В чём проблема, я не понимаю. Предполагаю, что проблема в написании адреса для подключения. Подскажите, пожалуйста, в чём проблема.

Добавлено через 3 часа 30 минут
Прошлый пример был опробован в линуксе. Попробовал потыкать в Windows, код

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
 
public class Main {
    public static void main(String[] args) {
        try {
            String url = "jdbc:firebirdsql://localhost:3050/c:/1/TESTDB.fdb";
 
            Properties props = new Properties();
            props.setProperty("user", "sysdba");
            props.setProperty("password", "1234");
            props.setProperty("encoding", "UTF8");
 
            Class.forName("org.firebirdsql.jdbc.FBDriver");
            try {
                Connection connection = DriverManager.getConnection(url, props);
            } catch (SQLException e) {
 
                e.printStackTrace();
            }
        } catch (ClassNotFoundException e) {
 
            e.printStackTrace();
        }
        return;
    }
}

выполняется без ошибок. Отсюда следует, что проблема с подключением к СУБД в линуксе. Завставить работать её под линуксом необходимо, поэтому вопрос всё ещё в силе. На одном форуме нашёл следующие сообщения:

Код

Сталкнулся впервые с такой проблемой в SQuirreL SQL Client при попытки приконектиться к Firebird получал ошибку "Unable to complete network request to host "localhost"." тогда у меня стояла ОС Gentoo затем на Fedora 11.

Выход из ситуации оказался то идиотизма прост. В файле /etc/hosts у меня было следующее:

127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6

добавив имя хоста и все заработало:

127.0.0.1 localhost.localdomain localhost <you_host_name>.<you_domain> <you_host_name>
::1 localhost6.localdomain6 localhost6

И у одного человека даже заработало, после того, как он изменил hosts:
<цитата>

Код

Ура заработала!!!
В файле /etc/hosts была строка:
127.0.0.1 localhost
После изменения заработало. Сделал так:
127.0.0.1 localhost adminu.dindust adminu

Может быть у меня проблема решится похожим образом, но я не понимаю, что они сделали в файле hosts. Можете объяснить кто-нибудь?
Не работает, получается, только через java. flamerobin и isql с бд работают нормально. Как я понял, это именно проблема с подключением к СУБД, т.к. поэкспериментировав в windows при вводе неправильного пароля или неправильного файлового пути возникают совсем другие ошибки.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

I’m trying to make DBeaver database manager connect to a Firebird *.FDB file. It is a local file database and I want to inspect the tables etc and perform some queries for data reporting.

However, when I try to open the database in DBeaver I get this error message:

Unable to complete network request to host
«localhost».[SQLState:08006, ISC error code 335544721]
Connection refused: connect

DBeaver cannot connect to Firebird database file

I’ve tried updating the driver, which updates the org.firebirdsql.jdbc:jaybird-jdk18:RELEASE [3.0.5] without any errors, and also enabling/disabling the embedded checkbox.

As far as I know Firebird is supported by DBeaver, what am I doing wrong here?

asked Nov 11, 2018 at 15:11

BdR's user avatar

After some trial and error I’ve figured out the answer to this. The services Firebird Service and Firebird Guardian weren’t running. I had installed the Firebird Server but accidentally selected «Run as an Application» instead of «Run as a Service».

Firebird Server setup options select additional tasks

DBeaver cannot connect to the Firebird database file without these services running. Which is kind of odd because the osFinancials application that uses this database file was working just fine without the services.

Anyway, once the Firebird Server is installed as «run as application» there is AFAIK no easy way to still get it to run as a service. So I just uninstalled and then reinstalled the Firebird Server setup and selected the correct option.

It adds two services named FirebirdGuardianDefaultInstance and FirebirdServerDefaultInstance which correspond to these two commandlines:

"C:Program Files (x86)FirebirdFirebird_2_5binfbguard.exe" -s DefaultInstance
"C:Program Files (x86)FirebirdFirebird_2_5binfbserver.exe" -s DefaultInstance

answered Nov 11, 2018 at 21:33

BdR's user avatar

BdRBdR

1791 gold badge2 silver badges11 bronze badges

2

There is the possibility of the version of the driver being incompatible with the version the (remote) server is using. You can try upgrading (or downgrading) the version by downloading the appropriate version:

Dbeaver upgrade/downgrade driver version

MMM's user avatar

MMM

2,5843 gold badges24 silver badges42 bronze badges

answered Dec 5, 2019 at 14:50

Elm Enog's user avatar

Часто задаваемые вопросы об IBOBjects

Есть ли способ обнаружить потерянное соединение и попытаться снова подключиться, без действий пользователя?

Подключитесь к событию OnError и найдите ERRCODE, который обозначает потерянное соединение. Затем вы можете предпринять любые действия, которые считаете необходимыми для решения проблемы. Если соединение потеряно, вам необходимо отключить соединение, а затем снова подключиться.

И от одного из базовых членов IBObjects:

Однако, возможно, «что-то», которое вам не хватает, заключается в том, что если соединение нарушено внешней причиной, клиентское приложение не знает, что оно еще не подключено. Его первое знание этого факта придет в следующий раз, когда он попытается получить доступ к серверу. API сообщит «Соединение потеряно для базы данных» и вернет GDSCODE 335544741, который идентифицируется константой isc_lost_db_connection.

В момент, когда происходит это исключение, TIB_Connection все еще считает, что он подключен — свойство Connected будет true. Если вы попытаетесь восстановить соединение, вызвав Connect, вы получите исключение IBO. Необходимо отключить связь. Это не просто сбросит свойство. Метод Disconnect выполняет всю необходимую очистку, чтобы аннулировать сломанные транзакции и отменить все недействительные проводки, наборы данных и кеширование. Как только Disconnect завершит свою работу, вы можете поместить вызов Connect внутри цикла повтора и попытаться вернуться.

Я не знаю рабочего примера, но самый простой способ справиться с этим — написать процедуру обработчика RestoreConnection, которую вы можете вызывать из вашего обработчика IB_Session.OnError всякий раз, когда аргумент ERRCODE возвращает isc_lost_db_connection.

Попросите свою процедуру RestoreConnection сделать все, что вам нужно, пытаясь вызвать Connect и обработать исключение, которое возникает, если запрос завершается с ошибкой, пока не произойдет какое-либо исключение. Проверяйте свойство Connected после каждой итерации. Когда Connected наконец-то True, вы находитесь в бизнесе. Вы можете отказаться от кода повтора и сообщить пользователю, что соединение было восстановлено — возможно, со звуком и/или сообщением в строке состояния, чтобы не было необходимости отображать диалоговое окно, на которое она должна ответить. (если вам нравится идея звуковых сигналов и баров строки состояния, вы можете разработать «сообщение об утере» звукового сигнала и код сообщения строки состояния для запуска в начале процедуры обработчика, а также…)

Если эти сломанные соединения часто встречаются, вам может потребоваться сделать особый пользовательский курсор, который вы можете отобразить во время выполнения вашей процедуры, и заключить код повтора в невозбудимый блок BeginBusy… EndBusy с включенным UseCursor и BusyCursor чтобы использовать это специальное изображение курсора.

И если повторное установление соединения, вероятно, займет много времени или будет временно невозможным, вам нужно будет предоставить возможность пользователю вмешаться и не продолжать пытаться. Вы можете использовать для этого сеансовый таймер, заключая ваш «занятый» блок в другой итеративный блок, предлагая пользователю «Отменить» или «Держать попытку» через разумные промежутки времени.

Источник

Наши клиенты недавно сообщали об этой ошибке, и мы не знаем, как ее исправить. Мы используем Delphi XE6 для разработки нашего приложения, и оно подключается к базе данных Firebird (v2.5) в качестве серверной части. Также мы использовали IBObjects для работы с базой данных Firebird в Delphi. Нам удалось воспроизвести ошибку на машине разработчика, остановив службу Windows Firebird перед выполнением запроса, но мы не нашли способ обнаружить потерянное соединение в коде (например, из-за события), так как мы не знаем когда это происходит, мы также не можем повторно подключиться к базе данных в коде.

Кстати, это полное сообщение об ошибке, если это помогает:

КОД ОШИБКИ ISC: 335544721 СООБЩЕНИЕ ОБ ОШИБКЕ ISC: Невозможно выполнить сетевой запрос к хосту «BON-VFS-01». Ошибка записи данных в соединение.

Любая помощь очень ценится.

3 ответа

Лучший ответ

Из FAQ IBOBjects

Есть ли способ обнаружить потерянное соединение и попытаться восстановить соединение автоматически без действий пользователя?

Подключитесь к событию OnError и найдите ERRCODE, который обозначает потерянное соединение. Затем вы можете предпринять любые действия, которые сочтете необходимыми для решения проблемы. Если соединение потеряно, вам необходимо отключить, а затем подключиться снова.

И от одного из базовых членов IBObjects:

Однако, возможно, вам не хватает чего-то, что если соединение разрывается по внешней причине, клиентское приложение не имеет возможности узнать, что оно еще не подключено. Он впервые узнает об этом факте при следующей попытке доступа к серверу. API сообщит «Соединение с базой данных потеряно» и вернет GDSCODE 335544741, который определяется константой isc_lost_db_connection.

В момент возникновения этого исключения TIB_Connection по-прежнему считает, что он подключен — свойство Connected будет истинным. Если вы попытаетесь повторно подключиться, позвонив в Connect, вы получите исключение IBO. Придется вызвать Disconnect. Это не просто сбрасывает свойство. Метод Disconnect выполняет всю необходимую очистку, чтобы сделать недействительными сломанные транзакции и отменить любые теперь недействительные публикации, наборы данных и кеши. Как только Disconnect завершит свою работу, вы можете поместить вызов Connect в цикл повтора и попытаться возобновить работу.

Я не знаю рабочего примера, но самый простой способ справиться с этим — написать процедуру обработчика RestoreConnection, которую можно вызывать из обработчика IB_Session.OnError всякий раз, когда аргумент ERRCODE возвращает isc_lost_db_connection.

Попросите вашу процедуру RestoreConnection сделать все, что вам нужно, попытаться вызвать Connect и обработать исключение, которое возникает в случае сбоя запроса, пока исключение не произойдет. Проверяйте свойство Connected после каждой итерации. Когда Connected наконец-то стал True, вы в деле. Вы можете выйти из кода повтора и сообщить пользователю, что соединение было восстановлено — возможно, с помощью звука и / или сообщения в строке состояния, чтобы избежать необходимости показывать диалоговое окно, на которое он должен ответить. (если вам нравится идея звуковых сигналов и сигналов в строке состояния, вы можете придумать звуковой сигнал предупреждения о потере соединения и код сообщения строки состояния, которые также будут запускаться в начале процедуры обработчика …)

Если эти разорванные соединения — частое явление, вы можете подумать о создании отличительного настраиваемого курсора, который вы можете отображать во время выполнения процедуры, и заключить код повтора в блок BeginBusy … EndBusy, который не дает результатов, с включенным UseCursor и BusyCursor установить для использования этого специального изображения курсора.

И если восстановление соединения, вероятно, займет много времени или будет временно невозможным, вам нужно будет предоставить пользователю возможность вмешаться и не продолжать попытки. Для этого вы можете использовать таймер сеанса, заключив свой «занятый» блок в другой итеративный блок, предлагающий пользователю «Отменить» или «Продолжить попытку» с разумными интервалами.

Источник


1

RBA
14 Мар 2016 в 08:35

Проверьте, находится ли их файл базы данных на подключенном сетевом диске. Даже если путь к файлу базы данных оказывается локальным для файловой системы, при использовании встроенного сервера Firebird функция isc_attach_database вернет код ошибки 335544721 при попытке установить соединение. Именно это и происходило на моей гостевой Windows XP VirtualBox, когда я сначала делюсь всем диском D хоста, а затем снова отображаю его как диск D в виртуальной гостевой ОС.

Обходной путь — переместить файл базы данных на диск локального раздела.


0

Goran
12 Авг 2017 в 01:04

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


0

Cris william
20 Авг 2019 в 07:57

KB059 — Common errors reported when using the Firebird database

Below are a list of common Firebird database errors which may be reported when logging into Volume.  If an error is reported, please follow the guidelines below in order to rectify the issue.


Unable to find the database. Your network may be experiencing problems. Check with your system’s administrator

ISC Errors - Common Database Errors 1

This is a generic message reported when the Volume client is starting up.  It is indicating that Volume failed to communicate with the Firebird database.  Clicking ‘OK’ will usually return one of the detailed error messages below.


ISC Error Code:335544344 — I/O error during “CreateFile (open)” operation for “WHATNOPAPER”

ISC Errors - Common Database Errors 2

The volume client has connected to the Firebird database, requesting a connection to the “WHATNOPAPER” database.  The database server does not know how to find the WHATNOPAPER database.

The Firebird aliases.conf file may be missing or invalid. The file should contain a line similar to WHATNOPAPER = D:volumeFinance_DatabaseWHATNOPAPER.FDB.  Check that the name and path of the database is specified correctly in the aliases.conf file.


ISC Error Code:335544344 — I/O error during “CreateFile (open)” operation for “…WHATNOPAPER.FDB.delta”

ISC Errors - Common Database Errors 3

The delta file is missing on the database server.

This may occur after moving or restoring a database.  Check to make sure the delta file has been moved to the correct location on the database server.  If you are sure that the database is not missing a valid delta file, use the “Activate” button in volumeAdmin to mark the database as ready.


ISC Error Code:335544721 — Unable to complete network request to host «xxxxx»

ISC Errors - Common Database Errors 4

Volume is unable to connect to the database server.

The Firebird Server service on the database server may not be running, the network may be down or the server has a firewall blocking the connection. The clients must be able to contact the server on TCP port 3050 to establish a database connection.


Please wait, trying to connect to the database…

ISC Errors - Common Database Errors 5

The Firebird database is unable to locate the FDB database specified in the aliases.conf file or does not have permission to read the folder containing the FDB database file.

I’m trying to make DBeaver database manager connect to a Firebird *.FDB file. It is a local file database and I want to inspect the tables etc and perform some queries for data reporting.

However, when I try to open the database in DBeaver I get this error message:

Unable to complete network request to host
«localhost».[SQLState:08006, ISC error code 335544721]
Connection refused: connect

DBeaver cannot connect to Firebird database file

I’ve tried updating the driver, which updates the org.firebirdsql.jdbc:jaybird-jdk18:RELEASE [3.0.5] without any errors, and also enabling/disabling the embedded checkbox.

As far as I know Firebird is supported by DBeaver, what am I doing wrong here?

asked Nov 11, 2018 at 15:11

BdR's user avatar

After some trial and error I’ve figured out the answer to this. The services Firebird Service and Firebird Guardian weren’t running. I had installed the Firebird Server but accidentally selected «Run as an Application» instead of «Run as a Service».

Firebird Server setup options select additional tasks

DBeaver cannot connect to the Firebird database file without these services running. Which is kind of odd because the osFinancials application that uses this database file was working just fine without the services.

Anyway, once the Firebird Server is installed as «run as application» there is AFAIK no easy way to still get it to run as a service. So I just uninstalled and then reinstalled the Firebird Server setup and selected the correct option.

It adds two services named FirebirdGuardianDefaultInstance and FirebirdServerDefaultInstance which correspond to these two commandlines:

"C:Program Files (x86)FirebirdFirebird_2_5binfbguard.exe" -s DefaultInstance
"C:Program Files (x86)FirebirdFirebird_2_5binfbserver.exe" -s DefaultInstance

answered Nov 11, 2018 at 21:33

BdR's user avatar

BdRBdR

1911 gold badge2 silver badges12 bronze badges

2

There is the possibility of the version of the driver being incompatible with the version the (remote) server is using. You can try upgrading (or downgrading) the version by downloading the appropriate version:

Dbeaver upgrade/downgrade driver version

MMM's user avatar

MMM

2,6204 gold badges24 silver badges42 bronze badges

answered Dec 5, 2019 at 14:50

Elm Enog's user avatar

Service «Firebird» must be active:

Service "Firebird" must be active

image description

Aulis Ronkainen's user avatar

answered Mar 12 at 21:52

Alexander Hüls's user avatar

1

From IBOBjects FAQ

Is there a way to detect a lost connection and try to reconnect
automatically, without user action?

Hook into the OnError event and look for the ERRCODE that denotes a
lost connection. Then, you can take whatever action you deem necessary
to deal with the problem. If the connection is lost you need to do a
disconnect and then connect again.

And from one of the base members of the IBObjects:

However, perhaps the «something» you are missing is that, if the
connection is broken by an external cause, the client application has
no way to know that it is not still connected. Its first knowledge of
that fact will come the next time it tries to access the server. The
API will report «Connection lost to database» and return GDSCODE
335544741, which is identified by the constant
isc_lost_db_connection.

At the point where this exception occurs, the TIB_Connection still
thinks it is connected — the Connected property will be true. If you
try to reconnect by calling Connect, you will get an IBO exception.
It is necessary to call Disconnect. This does not simply reset a
property. The Disconnect method performs all of the necessary cleanup
to invalidate the broken transactions and cancel any now invalid
postings, datasets and caches. Once Disconnect has completed its
work, you can then place a Connect call inside a retry loop and
attempt to get going again.

I do not know of a working example, but the simplest way to deal with
this is to write a RestoreConnection handler procedure that you can
call from your IB_Session.OnError handler whenever argument ERRCODE
returns isc_lost_db_connection.

Have your RestoreConnection procedure do whatever you need to do,
trying to call Connect and handling the exception that occurs if the
request fails, until no exception occurs. Test the Connected property
after each iteration. When Connected is finally True, you are in
business. You can drop out of the retry code and inform the user that
the connection has been restored — perhaps with a sound and/or a
message in the status bar, to avoid having to show a dialog box that
she has to respond to. (if you like the idea of sound and status bar
cues, you could devise «connection lost» warning sound and status bar
message code to run at the beginning of your handler procedure as
well…)

If these broken connections are a frequent occurrence, you might like
to consider making a distinctive custom cursor that you can display
while your procedure is running, and enclose the retry code in a
non-yielding BeginBusy…EndBusy block with UseCursor enabled and
BusyCursor set to use this special cursor image.

And if re-establishing a connection is likely to take a long time, or
to be temporarily impossible, you would need to provide the ability
for the user to intervene and choose not to keep trying. You can use
the session timer for this, enclosing your «busy» block inside
another iterative block the prompts the user to «Cancel» or «Keep
Trying», at reasonable intervals.

Source

  • 3303 ошибка фольксваген поло
  • 3301 ошибка хонда аккорд
  • 3301 ошибка ман тга
  • 33 типичные ошибки официантов которые нужно искоренить
  • 33 ошибки при постройке дома