Консольное приложение.NET с Firebird Client вылетает при завершении программы
Это небольшой проект для друга, цель которого - прочитать данные из заданного файла базы данных Firebird и поместить их в шаблоны MS Office 2010... так что и Firebird как серверная часть базы данных, и офис типа проекта.NET 4.x что-то данный стек.
Я написал небольшое (консольное) тестовое приложение, чтобы связаться с клиентом встроенной базы данных Firebird, и у меня уже есть первая проблема, от которой я не избавляюсь. Мой код выглядит следующим образом:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FirebirdSql.Data.FirebirdClient;
namespace TestFirebirdConnection
{
class Program
{
static void Main(string[] args)
{
// Set the ServerType to 1 for connect to the embedded server
string connectionString =
"User=sysdba;" +
"Password=******;" +
"Database=C:\\...\\...\\...\\PDATA.FDB;" +
"ServerType=1;" +
"Charset=NONE;";
try
{
FbConnection dbConnection = new FbConnection(connectionString);
dbConnection.Open();
string SQLCommandText = "select * from Patients";
FbCommand dbCommand = new FbCommand(SQLCommandText, dbConnection);
FbDataReader dr = dbCommand.ExecuteReader();
while (dr.Read())
{
Console.WriteLine(dr["TITLE"] + " " + dr["SURNAME"] + " " + dr["NAME"]);
}
dr.Close();
dbConnection.Close();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}
Все работает нормально, код выводит все имена базы данных пациентов на оболочку. Я уже использовал отладчик, чтобы проверить, правильно ли закрыты datareader и dbConnection (), что имеет место.
После самой последней строки я каждый раз получаю неприятное сообщение об ошибке Windows (такого рода нарушение доступа к памяти), где не могу понять, почему это происходит.
ОБНОВЛЕНИЕ: Кажется, это связано с fbintl.dll
ОБНОВЛЕНИЕ 2: Этого не произойдет, если я подключусь к серверу Firebird (что, к сожалению, не является хорошим решением для моего легкого офисного шаблона)
Кто-нибудь знает, почему это происходит?
Я использую:
- Firebird ADO.NET Provider 4.6 (от NuGet)
- Firebird Embedded база данных 2.5.3 x64
Я на самом деле не уверен, с какой версией firebird был создан файл базы данных