首页 > 数据库技术 > 详细

DbProviderFactories.GetFactory Oracle.ManagedDataAccess.Client

时间:2014-12-19 11:43:17      阅读:588      评论:0      收藏:0      [点我收藏+]

因为最近项目,要使用微软的EF框架不安装Oracle客户端的情况下,访问Oracle数据库。调用如下代码的时候会报错。

System.Data.Common.DbProviderFactories.GetFactory("Oracle.ManagedDataAccess.Client")

解决办法:

1、引用Oracle的:Oracle.ManagedDataAccess.dll

2、在APP.Config里面添加如下内容:

<configuration>
  <system.data>
    <DbProviderFactories>
      <add name="OracleManagedDataAccess Data Provider" 
           invariant="Oracle.ManagedDataAccess.Client" 
           description=".Net Framework Provider for OracleManagedDataAccess"
           type="Oracle.ManagedDataAccess.Client.OracleClientFactory,Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
    </DbProviderFactories>
  </system.data>
</configuration>

3、其中的“Version=4.121.1.0”,根据你的版本修改。可以用Reflector查看。
bubuko.com,布布扣

4、通过如下代码,可以检查全部成功引入的DbProviderFactories

var factoryClasses = System.Data.Common.DbProviderFactories.GetFactoryClasses();
var cols = factoryClasses.Columns;
foreach (DataRow row in factoryClasses.Rows)
{
    foreach (DataColumn col in cols)
    {
        Console.WriteLine("{0}:{1}", col.Caption, row[col.Caption]);
    }
    Console.WriteLine("-----------------------");
}

 

http://www.ereader123.com/

DbProviderFactories.GetFactory Oracle.ManagedDataAccess.Client

原文:http://www.cnblogs.com/sunqin/p/4173360.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!