Я пытаюсь развернуть приложение, которое использует базу данных Firebird v2.5 для клиентской машины.Установка клиента Firebird
Я пытаюсь использовать минимальную установку без необходимости запуска других инсталляторов. Из того, что я собираю, все, что мне нужно сделать, это скопировать «FBClient.dll» в целевую папку приложения (в которую входит файл базы данных Firebird). Я пробовал это, и он по-прежнему сообщает об ошибке в том, что вы не можете найти правильный поставщик данных .net.
например
C:\Program Files (x86)\MyApp\myApp.exe
C:\Program Files (x86)\MyApp\fbDatabase.fdb
C:\Program Files (x86)\MyApp\fbclient.dll
Ошибка производства является:
Не удалось найти или загрузить зарегистрированного поставщика данных .NET Framework.
Также были скопированы, переименованы и включены fbclient.dll в fbembed.dll
Я также попытался скопировать кучу других файлов в каталог приложения, а также размещения fbclient.dll в C: \, c: \ windows, c: \ windows \ system.
Я также попытался установить установку клиента без радости.
Есть ли способ, которым я могу использовать базу данных firebird, без ручного редактирования файлов machine.config или использования gac и прохождения через ад, который я прошел, чтобы установить firebird на dev-машину? Я хочу приложение, которое пользователь может установить, не требуя, чтобы он был установлен разработчиком.
Обратите внимание, что приложение, которое я пишу, предназначено для отдельной машины, однопользовательской среды, которая знает, как дважды щелкнуть кнопку установки, с охватом внимания комара, который, если требуется, сделать более чем двойной щелчок установите, а затем нажмите GO, просто соскучитесь и нажмите кнопку «Отмена», забудьте его.
добавить файл «FirebirdSql.Data.FirebirdClient.dll» в папку приложения, и я больше не получаю ошибку поставщика данных, вместо этого я получаю следующее
"Unable to complete network request to host \"DevMachine\"."
at FirebirdSql.Data.Client.Managed.Version10.GdsConnection.Connect()
at FirebirdSql.Data.FirebirdClient.ClientFactory.CreateManagedDatabase(FbConnectionString options)
at FirebirdSql.Data.FirebirdClient.ClientFactory.CreateDatabase(FbConnectionString options)
at FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect()
Я пытаюсь соединиться с следующий
string file = @"C:\Program Files (x86)\MyApp\Test.FDB;";
FbConnection con = new FbConnection("User=SYSDBA;" + "Password=masterkey;" + "Database=" + file + "DataSource=Dev-VS-W7VM;" + "Port3050;" + "Dialect=3;" + "Charset=ISO8859_1;");
try
{
con.Open();
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
}
Я включил FirebirdSql.Data.FirebirdClient в моей папке проекта и установка (.. \ MyApp) Спасибо заранее.
Немного не хватает здесь. Конечно, вы можете использовать copy/paste для получения точного сообщения об ошибке. Если вы не можете использовать copy/paste, скопируйте его vertbatim. –
Копирование файла 'FBClient.dll' в папку вашего приложения является лишь решением, если вы используете API-интерфейс клиента напрямую. Если вы используете его через C# и используете поставщик данных Firebird .NET, вам все равно придется установить этот поставщик данных и зарегистрировать его как доступную сборку. (Который, BTW, это то, что сообщение об ошибке говорит вам, - что поставщик данных .NET не может быть найден или загружен.) –
Я хочу решение использовать базу данных firebird без использования GAC или беспорядок с машиной .config на целевой машине. Требуется автономное решение с простой установкой, которую может установить любой разъем. – Craig