Как получить доступ к базе данных interbase / firebird через сеть с двумя или более компьютерами - PullRequest
1 голос
/ 03 июля 2011

Я создал программу, которая обращается к БД Firebird в сетевой среде.

Обычно я обращаюсь к БД через сеть в двух разных точках сети.

Но если я открываю две программы одновременно, это исключение выдается во второй программе, которая пытается подключиться к БД:

"Ваше имя пользователя и пароль не определены"

Как получить доступ к базе данных Firebird с двумя подключениями одновременно?

Ответы [ 4 ]

2 голосов
/ 08 июля 2011

Это может быть вызвано использованием встроенной версии firebird, которая допускает только 1 соединение. Посмотрите на имя файла, который вы установили.

Если это проблема, удалите ее и установите вместо нее классическую версию или версию суперсервера

0 голосов
/ 27 июля 2012

В компоненте TIBDatabase необходимо заполнить свойство Params:

user_name=sysdba 
password=masterkey

Для установки Firebird на каждом компьютере в локальной сети должны быть установлены параметры по умолчанию.Компьютер с проблемой должен иметь другие учетные данные для доступа.

Вам необходимо удалить Firebird, а затем переустановить последнюю версию с помощью параметров службы и суперсервера, и отметить «использовать gdi32.dll для ретро ...»

Скажите, сработало ли это для вас.

0 голосов
/ 03 июля 2011

Большинство компонентов соединения БД должны позволять вам предшествовать пути к базе данных с IP-адресом или именем хоста, например, таким как

MyConnection.Database := '127.0.0.1:C:\Databases\testdb.fdb';

Очевидно, убедитесь, что обе ваши программы указывают на один и тот же IP-адрес или имя хоста и делаютубедитесь, что учетные данные, которые они используют, определены на этом сервере Firebird.

Все установки сервера Firebird (кроме встроенных) могут обрабатывать несколько соединений по умолчанию (даже используя одного и того же пользователя), вам не нужно беспокоиться об этом,Просто убедитесь, что клиентские программы используют входные данные (т. Е. Сетевой путь db и учетные данные для входа на сервер firebird), которые применяются на сервере, к которому они пытаются подключиться.Вы можете просто использовать SYSDBA до тех пор, пока не получите контроль над соединением, а затем подумать о создании уникального имени входа для ваших клиентских приложений.

0 голосов
/ 03 июля 2011

Убедитесь, что база данных Firebird размещена на компьютере, на котором установлен сервер Firebird.

т.е. установить сервер Firebird на компьютер, на котором есть база данных.

Затем с клиентских компьютеров, на которых установлено приложение, убедитесь, что вы обращаетесь к базе данных, подключившись к серверу Firebird.Это означает, что любому компоненту, используемому вашим приложением Delphi для подключения к базе данных, должно быть присвоено свойству server значение hostname сервера базы данных.

Как только это будет сделано, ваши приложения будут отправлять запросы на сервер базы данных Firebird, который знает, как обрабатывать соединения, обрабатывать запросы SQL и возвращать результаты.

...