任何人都可以解释如何使用EnterpriseLibrary 6.0连接到Oracle

时间:2013-06-19 15:48:36

标签: enterprise-library

我正在使用EnterpriseLibrary 4.1 [DAAB]并使用ODP.net连接到Oracle数据库10g。现在我们使用的是VS2012和EnterpriseLibrary 6.0 [DAAB]。我没有找到连接到Oralce的正确步骤。

基于您的一些朋友和文档,我能够创建代码。但问题是配置文件。

请指导我查看配置文件中的正确设置。

提前致谢。

1 个答案:

答案 0 :(得分:0)

最重要的是在配置文件中,标签 system.data 。因为,在安装ODP.net时,它没有在Machine.config中插入正确的值。因此,我们需要在.config文件中添加这些条目。

#CODE

DatabaseProviderFactory factory = new DatabaseProviderFactory();

database = factory.Create(“DBinstanceName”);

#ConfigSection条目

  <configSections>
    <section name="oracleConnectionSettings"    type="Microsoft.Practices.EnterpriseLibrary.Data.Oracle.Configuration.OracleConnectionSettings,     Microsoft.Practices.EnterpriseLibrary.Data, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"  requirePermission="true" />
</configSections>

连接条目

<oracleConnectionSettings>
    <add name="CNQ" />
</oracleConnectionSettings>

System.data条目

  <system.data>
    <DbProviderFactories>
      <add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
    </DbProviderFactories>
  </system.data>

连接条目

<connectionStrings>
    <add name="CNQ" connectionString=" Min Pool Size=0;Connection Lifetime=120;Max Pool Size=50; Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST= XXXX.com)(PORT=1521))) (CONNECT_DATA = (SID = cnq) (SERVER = DEDICATED) ) );"
        providerName="Oracle.DataAccess.Client" />
</connectionStrings>