使用SqlSugar连接Oracle数据库报错需要引用Oracle.ManagedDataAccess.dll的处理方法

当我们使用SqlSugar框架时,一般都会通过Visual Studio的NuGet安装SqlSugar,安装完成后只把SqlSugar.dll引入项目。在使用SqlSugar连接Oracle数据库就会报如下图所示错误:

错误信息中提示可通过NuGet安装Oracle.ManagedDataAccess,这样操作后,会下载大量互相引用的程序包,但最终问题依然没有解决。所以这种方法不可取。

通过网上搜索找到最终解决办法是:

到Oracle官网,点击下载Oracle.ManagedDataAccess包,解压缩后将Oracle.ManagedDataAccess.dll文件复制到程序生成目录(必须与SQLSugar.dll放在同一目录下),项目中不需要引用Oracle.ManagedDataAccess.dll。

![image-20210823092559080](E:\cnblog文章\新建文件夹\image-20210823092559080.png

2021年11月11日补充

今日发现按照上述方法设置后,程序仍出现上述错误,经过和以前程序对比发现,在项目的``App.config`文件缺少配置项

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
<!-- 缺少本段内容,仍会报错,需手动加上
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Oracle.ManagedDataAccess" publicKeyToken="89b483f429c47342" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.122.1.0" newVersion="4.122.1.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
-->
</configuration>
posted @   dsmilely  阅读(2286)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示
主题色彩