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

单独工程中与DAL连接串的问题

  •  4
  • Colin  · 技术社区  · 15 年前

    我最初在我的网站上的app_code文件夹中写了一个数据访问层。然后我们在一个单独的项目中开发了一个Web服务。为了让网站和Web服务都能访问同一个DAL,我将它移到了另一个项目。我有一个带有TableAdapter的数据集,为了编译DAL项目,我必须将连接字符串添加到应用程序属性设置中。但这意味着我必须为每个部署重新编译DAL。另外,我可能在服务器上有2或3个使用相同DAL的网站。所以我想在每个网站的web.config中设置连接字符串,并保留它。 每次创建TableAdapter的实例时,是否都必须检查代码并进行更改? 例如从

    using (MessageQueue adaptor = new MessageQueue())
    {
        return adaptor.GetMessages(UserId, MobileId, StartDate, EndDate);
    }
    

    using (MessageQueue adaptor = new MessageQueue())
    using (OracleConnection connection = new OracleConnection(OracleUtilities.ConnectionString))
    {
        adaptor.Connection = connection;
        return adaptor.GetMessages(UserId, MobileId, StartDate, EndDate);
    }
    

    还是有更好的方法?

    柯林

    2 回复  |  直到 15 年前
        1
  •  3
  •   Community clintgh    7 年前

    我在这里找到了我想要的答案:

    Guidance needed ASP.Net app connection string

    在S.Ruchit的回答中。

    web.config中的连接字符串名称必须与app.config中包含完全限定名的连接字符串名称匹配。所以在我的情况下我改变

    <add name="ConnectionStringMainDB" 
         connectionString="<myConnStringHere>"
         providerName="System.Data.OracleClient"/>
    

    到:

    <add name="DatabaseAccess.Properties.Settings.ConnectionStringMainDB"
         connectionString="<myConnStringHere>" 
         providerName="System.Data.OracleClient"/>
    

    不需要其他代码更改!多亏了Muhammed和Fresh

        2
  •  1
  •   freshr    15 年前

    使用标准的connectionStrings配置部分,您将能够在不使用实用程序类的情况下检索连接字符串:

    System.Configuration.ConfigurationManager.ConnectionStrings

    您仍然需要将连接字符串放入每个需要数据库的应用程序的app.config或web.config文件中。