IDbConnection和Firebird

时间:2013-11-28 13:27:46

标签: c# .net firebird

我想用firebird db测试精巧的微观问题,而且我很难接触到火鸟。

Firebird服务器已启动并正在运行,数据库中填充了一些虚拟数据,并存储在c:\ mydatabases \ test.fdb

连接字符串是

<add name="testDatabase" connectionString="User=SYSDBA;
           Password=XXX; Database=c:\mydatabases\test.fdb; 
           Data Source=127.0.0.1;" />

在我的存储库中,我使用IDbConnection

访问数据库
private IDbConnection db = 
     new SqlConnection(ConfigurationManager.ConnectionStrings["testDatabase"]
         .ConnectionString);

但是当我尝试访问数据时会抛出异常

  

类型&#39; System.Data.SqlClient.SqlException&#39;的第一次机会异常。   发生在System.Data.dll

中      

其他信息:与网络相关或特定于实例的错误   在建立与SQL Server的连接时发生。服务器是   没找到或无法访问。验证实例名称是否为   正确并且SQL Server配置为允许远程连接。   (提供者:命名管道提供者,错误:40 - 无法打开   连接到SQL Server)

是否可以将IDbConnectionfirebird一起使用,如果不是您的建议。

由于

2 个答案:

答案 0 :(得分:5)

您应该使用FBConnection代替。

下载并参考FirebirdSql.Data.Firebird而不是

IDbConnection db = new SqlConnection...

使用此

IDbConnection dbcon = new FbConnection(connectionString); 

答案 1 :(得分:3)

SqlConnection是SQL Server特有的类。您需要做的是从here下载Firebird的ADO.NET提供程序。这将为您提供FirebirdSql.Data.FirebirdClient命名空间和FbConnection类,您可以这样使用:

private IDbConnection db = new FbConnection(ConfigurationManager.ConnectionStrings["testDatabase"].ConnectionString);

您可以找到有关如何使用Firebird ADO.NET Provider here的更多示例。