0
  1. 我有一个访问 app.config 中配置的数据库的库项目
  2. 我有一个访问 web.config 中配置的数据库的 Web 项目

两者都正常工作

现在我想使用 web 项目中的库。在 Visual Studio 中工作正常。在生产服务器中,Web 项目访问数据库,但库不能从项目 Web 访问数据库。

app.config 和 web.config 中的 ConnectionString 是相同的。在生产服务器中不应该采用 web.config 设置吗?

谢谢和对不起我的英语

编辑

web.config 和 app.config 连接字符串

<connectionStrings> 
    <add name="IntranetConnectionString" 
         connectionString="Data Source=(local)\SQLExpress;Initial Catalog=Intranet;Integrated Security=True;" 
         providerName="System.Data.SqlClient" /> 
    <add name="Database.Properties.Settings.IntranetConnectionString" 
         connectionString="Data Source=(local)\SQLEXPRESS;Initial Catalog=Intranet;Integrated Security=True" 
         providerName="System.Data.SqlClient" /> 
</connectionStrings>

错误:

建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)

4

3 回答 3

0

解决方案:

在 DLL 中创建一个类以使用接收 ConnectionString 的构造函数访问 DataTable

public TestBLL(String ConnectionString)
{
    TestTableAdapter ta = new TestTableAdapter();
    ta.Connection = new System.Data.SqlClient.SqlConnection(ConnectionString);
}

在 Web 项目中:

String cs = System.Configuration.ConfigurationManager.ConnectionStrings["IntranetConnectionString"].ToString();
TestBLL taBLL = new TestBLL(cs);

在 taBLL 中有访问每个查询的方法

于 2012-05-23T04:16:54.730 回答
0

DLL 通常采用调用它的主机应用程序的 app.config,而不是它自己的配置。这里有肉吗?

于 2012-05-22T20:42:43.670 回答
0

如果我理解正确,请尝试将库的引用复制到本地,为此,right-click您的项目中的引用,然后在属性中设置TrueCopy Local,现在您将在服务器中本地拥有库。

如果问题与库的引用有关,这应该可以工作,如果是问题,它将web.config/app.config无济于事

于 2012-05-22T20:22:20.320 回答