2009-12-23 52 views
0

我没有问题建立在C#中的常规(Windows窗体或控制台)项目中使用Firebird的.NET数据提供程序。火鸟.NET提供程序和ASP.NET

但是,每当我尝试使用ASP.NET同一供应商我做到以下几点:

  1. 复制DLL到项目,以保持它的版本控制
  2. 下的参考添加到项目
  3. 在我的连接中创建<connectionStrings/>标记的条目。
  4. 尝试使用入门连接到火鸟

这里是入门例子:

<connectionStrings> 
    <add 
     name="cstringdbname" 
     connectionString="User=SYSDBA;Password=MY_PASS;Database=/opt/interbase/data/mydbname;Server=MyHostName; Connection lifetime=15;Pooling=true" 
     providerName="Firebird"/> 
</connectionStrings> 

我用不同的东西在providerName属性尝试。似乎没有任何工作。

我的问题是在第4步。每当我尝试使用SqlDataSource组件连接到数据库时,连接尝试使用SQLServer数据提供程序而不是Firebird,并且出现错误。

我的问题:还有什么需要,以使ASP.NET加载,使用做,acknwoledges我火鸟提供商是否存在等?

+0

显示为<的connectionString />和读取连接字符串一些示例代码/创建在应用中的连接。 – RichardOD 2009-12-23 11:30:46

回答

1

这是我做过什么来得到它的工作:

  • 改变web配置添加这些条目:

首先,在configuration标签新DBProviderFactory:

<system.data> 
    <DbProviderFactories> 
     <remove invariant="FirebirdSql.Data.FirebirdClient"/> 
     <add 
      name="Firebird Data Provider" 
      invariant="FirebirdSql.Data.FirebirdClient" description="Firebird" 
      type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient" 
     /> 
    </DbProviderFactories> 
</system.data> 

其次,我的连接字符串项看起来是这样的:

<connectionStrings> 
<add 
    name="rshkdb" 
    connectionString="User=u;Password=p;Database=/mydb;Server=X.X.X.X; Connection lifetime=15;Pooling=true" 
/> 
</connectionStrings> 
  • 添加了Firebird的客户端DLL使用项目的引用当地选项复制到真正。这非常重要,否则,ASP.NET在运行时不会找到该库(仅在编译时)。
1

我太在过去的项目尝试这样做,并没有得到它的工作。但是,我只找到连接字符串,所以我将设置移到了appSettings部分。一旦你这样做了,你可以使用你用于WinApp项目的相同连接设置。