Попытка использовать встроенный сервер Firebird - неверный тип сервера - PullRequest
0 голосов
/ 28 марта 2012

Работая в Windows 7 с использованием Visual Studio 2005, я пытаюсь использовать встроенный сервер Firebird.Следуя предоставленным сведениям об установке, я получаю сообщение: -

Указан неверный тип сервера.

Я использую: -

FirebirdSql.Data.FirebirdClient.dll версии 2.5.2.0.

fbembed.dll версии 2.5.0.26074

Я скопировал все содержимое zip-файла Firebird-2.5.0.26074-0_Win32_embed.zip в каталог моего приложения, поскольку, как представляется, существует множество идей относительно того, что там должно быть.

Я также скопировал fbembed.dll и переименовал его в gds32.dll и fbclient.dll, как это было раньше.в другом месте.

Моя строка подключения: -

Пользователь = SYSDBA; Пароль = главный ключ; база данных = C: \ База данных \ EMPLOYEE.FDB; тип сервера = 1;Dialect = 3; ";

Все пользователи имеют полный контроль над файлом базы данных.

У меня сервер Firebird работает на той же машине, я гарантировал, что служба была остановлена, чтобы избежатьлюбая путаница.

Трассировка стека при сбое показывает: -

в FirebirdSql.Data.FirebirdClient.ClientFactory.CreateDatabase (параметры FbConnectionString) в FirebirdSql.Data.FirebirdClient.Fternal.Подключитесь () в FirebirdSql.Data.FirebirdClient.FbConnectionPool.Create () в FirebirdSql.Data.FirebirdClient.FbConnectionPool.CheckOut () в FirebirdSql.Data.FirebirdClient.FbConnection. * 10 * App10.идеи.

Ответы [ 3 ]

1 голос
/ 03 августа 2015

Самому последнему материалу (8/2015), по-видимому, не нравится ServerType = 1 в строке подключения, а скорее используется stringbuilder:

        FbConnectionStringBuilder cs = new FbConnectionStringBuilder();
        cs.UserID = "SYSDBA";
        cs.Password = "masterkey";
        cs.Database = Form1.DataBaseFullPath;
        cs.Charset = "UTF8";
        cs.Pooling = false;
        cs.Dialect = 3;
        cs.ServerType = FbServerType.Embedded;

        FbConnection Connection = new FbConnection(cs.ToString());

Если вы посмотрите на результат, вы увидитесинтаксис "...; тип сервера = встроенный".Пробел между "сервером" и "типом".

0 голосов
/ 03 апреля 2012

Как бы то ни было, проблема была решена с помощью последней версии (2.7.5) провайдера Firebird dot net (благодаря Jiri в списках рассылки firebird).

0 голосов
/ 28 марта 2012

Попробуйте добавить источник данных в ConnectionString, например,

Data Source=localhost;

[Изменить]

Также взгляните на этот ТАК вопрос . В нем упоминается пара DLL, которые были дополнительно необходимы для запуска Firebird как встроенные.

...