加入收藏 | 设为首页 | 会员中心 | 我要投稿 宿州站长网 (https://www.0557zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

.net – 使用Oracle.DataAccess.Client将EntLib 4.1升级到5

发布时间:2021-01-25 17:14:59 所属栏目:站长百科 来源:网络整理
导读:我正在将项目从EntLib 4.1升级到EntLib 5.我已经浏览了迁移指南,更改了所有引用并更新了所有配置文件以指向EntLib 5.所有工作正常都接受Oracle数据库访问.使用配置文件: configuration configSections section name="dataConfiguration" type="Microsoft.

我正在将项目从EntLib 4.1升级到EntLib 5.我已经浏览了迁移指南,更改了所有引用并更新了所有配置文件以指向EntLib 5.所有工作正常都接受Oracle数据库访问.使用配置文件:

<configuration>
  <configSections>
    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,Microsoft.Practices.EnterpriseLibrary.Data,Version=5.0.414.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
  </configSections>
  <dataConfiguration defaultDatabase="prod">
    <providerMappings>
      <add databaseType="Microsoft.Practices.EnterpriseLibrary.Data.Oracle.OracleDatabase,Microsoft.Practices.EnterpriseLibrary.Data"
        name="Oracle.DataAccess.Client" />
    </providerMappings>
  </dataConfiguration>
  <connectionStrings>
    <add name="prod" connectionString="Data Source=dev;User Id=dev;Password=dev;"
      providerName="Oracle.DataAccess.Client" />
  </connectionStrings>
</configuration>

与4.1一起工作的所有对DatabaseFactory.CreateDatabase()的调用都失败了:

System.InvalidOperationException: The type Database cannot be constructed. You must configure the container to supply this value.

如果我用Microsoft System.Data.Oracleclient替换Oracle.DataAccess.Client它会再次起作用,但是不满足于ODP.net的可爱性.有谁知道如何使用EntLib 5?

干杯,
???MLK

解决方法

它会导致Oracle安装程序有时会忘记安装在machine.config中的数据库提供程序工厂.要解决这个问题,需要在app.config或machine.condig中添加以下内容.

<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=2.102.2.20,PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
</system.data>

我认为在EntLib4中工作的是EntLib4使用以前版本的Oracle客户端(我认为是10.2.0.1.Oracle编号很奇怪).

(编辑:宿州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读