使用ODP.NET与Enterprise Library连接到Oracle

时间:2014-01-20 21:19:34

标签: c# .net database oracle

我编写了一个简单的控制台程序,尝试使用企业库连接到Oracle数据库,ODP.NET使用VS2013用C#编写。我的PC上安装了ODAC 12.c。

然而,当我的程序试图打开时,我的程序会出现异常 数据库中。

using Microsoft.Practices.EnterpriseLibrary.Data;
using Microsoft.Practices.EnterpriseLibrary.Common.Configuration;
using Microsoft.Practices.EnterpriseLibrary.Data.Oracle;

OracleDatabase db = null;
db2 = DatabaseFactory.CreateDatabase() as OracleDatabase;  

System.Configuration.ConfigurationErrorsException was unhandled
Message=An error occurred creating the configuration section handler for 
dataConfiguration: Could not load file or assembly 
Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, 
Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. 
The located assembly's manifest definition does not match the assembly reference.
Source=System.Configuration

我的app.config文件包含以下内容:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="dataConfiguration" 
    type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, .../> 
    <section name="oracleConnectionSettings" 
    type="Microsoft.Practices.EnterpriseLibrary.Data.Oracle.Configuration.OracleConnectionSettings, ... />
  </configSections>

  <dataConfiguration defaultDatabase="OracleConnect">
      <providerMappings>
          <add databaseType="Microsoft.Practices.EnterpriseLibrary.Data.Oracle.OracleDatabase, ... />
      </providerMappings>
  </dataConfiguration>
  <oracleConnectionSettings>
      <add name="Oracle Connection" />
  </oracleConnectionSettings>

  <oracle.manageddataaccess.client>
  <version number="*">
    <dataSources>
      <dataSource alias="sdtp11" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)
      (HOST=servername)(PORT=24106))(CONNECT_DATA=(SID=databasename)(SERVER=DEDICATED)))"/> 
    </dataSources>
   </version>
  </oracle.manageddataaccess.client>

  <connectionStrings>
    <add name="OracleConnect" connectionString="Database=databasename;
    Server=servername:24106;User ID=username;Unicode=True;Password=password" 
    providerName="Oracle.ManagedDataAccess.Client" />
    <add name="sdtp11" connectionString="Database=databasename;Server=servername:24106;
    Persist Security Info=True;User ID=username;Unicode=True;Password=password" 
    providerName="Oracle.ManagedDataAccess.Client" />
  </connectionStrings>
</configuration>

我使用程序'EntLib Config'程序创建了.config文件。我不确定是什么问题,并使用Google搜索并尝试了许多.config文件但没有成功。如何缓解此错误?

0 个答案:

没有答案