qq_44527692 2023-10-27 15:23 采纳率: 12.5%
浏览 17
已结题

c++连接oracle的问题

就我现在用vs2022并使用最新版本instantclient_21_11 的occi连接oracle,在本机windows10上是正常运行,但是我吧程序弄到windows2008r2上运行时在我没有安装vc2015的库的时候会报错:无法定位程序输入点ucrtbase.terminate于动态链接库api-ms-win-crt-runtime-|1-1-0.dll ,但是我安装了vc2015的库之后,会报错:无法定位程序输入点GetOverlappedResultEx 于动态链接库 KERNEL32.dll 上
我经过尝试,发现可能是instantclient_21_11 的occi的版本太高,但是我发现,好像能兼容vs2022的只有instantclient_21_11,但是我的程序是vs2022写的,现在也没有办法让我能连接上oracle库。。

  • 写回答

19条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-10-27 15:23
    关注
    获得0.60元问题酬金

    引自强大而免费的微信小程序:皆我百晓生

    这个问题可能是版本兼容性导致的。在使用vs2022和instantclient_21_11时,可以尝试以下解决方法:

    1. 确认你使用的instantclient_21_11的occi版本是否为与vs2022兼容的最新版本。可以查找instantclient_21_11的官方文档或社区讨论来确认。

    2. 检查你的Windows 2008 R2是否有更新的Windows更新补丁。有时缺少一些更新可能会导致动态链接库缺失的问题。

    3. 尝试使用更低版本的instantclient_21_11进行连接。你可以尝试下载较旧的instantclient_21_11版本,并重新编译你的程序进行测试。

    4. 检查你的程序是否正确链接了vs2015的库。如果你安装了vc2015的库,你需要确保你的程序正确链接了这些库,并且检查链接设置是否正确。

    5. 如果上述解决方法仍无法解决问题,你可以尝试使用其他的C++连接Oracle的库,如ODBC或ODP.NET。这些库可能具有更好的版本兼容性并且可以解决你的问题。

    另外,如果你遇到了特定的错误信息,可以提供详细的错误信息以便更好地帮助你解决问题。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月4日
  • 创建了问题 10月27日