代码之家  ›  专栏  ›  技术社区  ›  Desolator

如何用Visual C#2010连接和使用Firebird db嵌入式服务器

  •  12
  • Desolator  · 技术社区  · 15 年前

    我试图将Firebird嵌入式服务器与Microsoft Visual C#2010结合使用。 所以我现在所做的是:

    1. Firebird.Net数据提供程序 Firebird Client v2.5.2 ).

    2. Firebird嵌入式服务器 ( Firebird Embedded Server v2.5.0

    3. 添加了 对FirebirdSql.Data.FirebirdClient.dll的引用 我的项目。

    4. 提取并复制 fbembed.dll文件到我的应用程序的

    5. 添加了我的FDB文件 “TEST.FDB”到我的应用程序

    6. 添加了“ 使用FirebirdSql.Data.FirebirdClient; “声明。

    现在当我试图 连接到我的FDB文件 使用以下代码:

        FbConnection con = new FbConnection("User=SYSDBA;" + "Password=masterkey;" + "Database=TEST.FDB;" + "DataSource=127.0.0.1;" + "Port=3050;" + "Dialect=3;" + "Charset=UTF8;");
        try  {
                 con.Open();
             }
        catch (Exception ex) 
             {
                MessageBox.Show(ex.ToString());
             }
    

    我总是得到消息框,这意味着代码没有正确连接到我的数据库文件。

    谢谢:)

    编辑:以下是我得到的例外情况:

    FirebirdSql.Data.FirebirdClient.FbException 主机“127.0.0.1”的网络请求。 --->无法完成对主机“127.0.0.1”的网络请求。在 FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect() 在 在 FirebirdSql.Data.FirebirdClient.FbConnectionPool.CheckOut() 在 FirebirdSql.Data.FirebirdClient.FbConnection.Open() 在 发件人,事件参数e)在C:\文档中 导播室 2010\Projects\fbTestApp\fbTestApp\Form1.cs:行 25个

    3 回复  |  直到 6 年前
        1
  •  10
  •   Desolator    15 年前

    经过6个小时的工作,我终于找到了解决办法:)

    他们都说我只需要在我的项目中包含fbedded.dll文件。。

    我做了一些调查之后。我发现我还需要补充 我的项目 文件和 输出文件夹 ..

    :切勿使用compact.Net数据提供程序。因为他们只为普通和超级火鸟服务。它不能与嵌入式服务器一起工作。

        2
  •  6
  •   PlageMan    15 年前

    嵌入Firebird2.5后,我将所有这些文件复制到应用程序目录:

    aliases.conf (optional)
    fbembed.dll
    firebird.conf
    firebird.msg
    ib_util.dll
    icudt30.dll
    icuin30.dll
    icuuc30.dll
    Microsoft.VC80.CRT.manifest  : -- Not sure if this 3 files are necessary
    msvcp80.dll                  : -- but i copy them :)
    msvcr80.dll                  : -- see http://www.firebirdnews.org/?p=2248
    intl\fbintl.conf   : Without those files you can't use
    intl\fbintl.dll    : all charset and collations
    udf\*  : if you want to use pre-build UDF
    

    在连接字符串中,我指定服务器是嵌入的,其中serverType=1:

    User=SYSDBA;Password=masterkey;Database=E:\TEST.FDB;Dialect=3;Charset=UTF8;ServerType=1;
    

        3
  •  2
  •   Tisho DadoCe    13 年前

    我把Firebird dll放在名为Firebird的项目的dir中。添加了用于复制文件的生成后事件。

    copy $(ProjectDir)Firebird\*.dll $(ProjectDir)$(OutDir)*.dll"