【问题标题】:.nettiers Changing connections at run time.nettiers 在运行时更改连接
【发布时间】:2013-05-08 02:10:23
【问题描述】:

是否有任何 .netTiers 忍者知道如何在运行时更改数据库连接?

我在他们的文档中找到了以下文章: http://www.nettiers.net/DataLayer.ashx

到最后,它有一个代码 sn-p 演示如何执行此操作,但我完全按照这个 sn-p 操作,但它似乎仍然不起作用。

这是我的代码(名称已更改以保护无辜 :-):

DataRepository.AddConnection("localDynamic", "Data Source=myserver;Initial Catalog=myDB;Integrated Security=True");

TList<Patient> patients = DataRepository.Connections["localDynamic"].Provider.PatientProvider.GetAll();

这里是 web.config - web 配置中的连接字符串被注释掉,以便我可以测试动态更改连接字符串:

<configuration>
  <configSections>
    <section name="dcPlatinum.Data"
    type="dcPlatinum.Data.Bases.NetTiersServiceSection, dcPlatinum.Data"
    allowDefinition="MachineToApplication"
    restartOnExternalChanges="true" />
  </configSections>
  <!--<connectionStrings>
    <add name="netTiersConnectionString" connectionString="Data Source=myServer;Initial Catalog=myDB;Integrated Security=True" />
  </connectionStrings>-->

  <dcPlatinum.Data defaultProvider="SqlNetTiersProvider">
    <providers>
      <add
        name="localDynamic"
        type="dcPlatinum.Data.SqlClient.SqlNetTiersProvider, dcPlatinum.Data.SqlClient"
        connectionStringName="localDynamic"
        providerInvariantName="System.Data.SqlClient"
        entityFactoryType="dcPlatinum.Entities.EntityFactory"
        useEntityFactory="true"
        enableEntityTracking="false"
        enableMethodAuthorization="false"
        useStoredProcedure="false"

        />
    </providers>
  </dcPlatinum.Data>
  <system.web>
      <compilation debug="true" targetFramework="4.0" />
  </system.web>

</configuration>

正在发生的问题是它没有找到带有“localDyanmic”键的连接字符串...

想法?

【问题讨论】:

  • 你能在这里发布正确的答案吗.. 我正在寻找同样的东西
  • 很遗憾,我没有正确答案。我们最终放弃了 .net 层,转而采用本土解决方案。如果您发现以下一个答案适合您,请告诉我,我会将其标记为已接受的答案。
  • 致寻找此问题答案的人,请参阅here。转到高级主题 --> 动态连接字符串。

标签: .net .nettiers


【解决方案1】:

你现在可能已经想通了,但以防万一你还在尝试......

我们在当前项目中有动态连接,您发布的代码对我来说看起来不错。

但我认为您仍然需要从提供程序配置部分引用在 web.config 中注册的连接字符串。所以取消注释连接字符串,然后将提供程序部分更改为引用“netTiersConnectionString”而不是“localDynamic”。

netTiers 应该忽略这一点并在运行时使用 localDynamic。

此外,请确保在应用程序启动时对每个连接字符串运行一次 DataRepository.AddConnection 方法。我们在 Global.asax 的 Application_Start 方法中运行我们的

【讨论】:

    猜你喜欢
    • 2017-11-17
    • 1970-01-01
    • 1970-01-01
    • 2013-12-11
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-11
    相关资源
    最近更新 更多