• 64位windows上访问64位oracle 12c


    64位windows上访问64位oracle 12c,这会有啥问题?

    没啥问题。问题是,我64位操作系统的机器上装了个oracle 10g。而oracle 10g好像是不区分啥32位、64位的,一律32位。

    此前,我在ASP.NET项目中,连接无论是oracle 10g,还是oracle 12c,都没有问题,只须在对应的IIS的应用程序池上开启32位支持即可。为啥要开启32位支持呢?原因是本机的oracle是10g的,32位,它充当了客户端的角色,凡访问oracle,不管外部内部,都要这个客户端支持。

    由于IIS的强大,asp.net程序被支持得很好,连接oracle的途径畅通无阻。直到近期我开发一个WIN FORM桌面程序。这个可没有IIS的支持。于是就报错了:

    数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组件的情况下以64位模式运行,将出现此问题。

    怎么办呢?难道我要装一个64位的oracle客户端?真麻烦。

    依照以前的经验(.NET访问ORACLE心得:疯狂重启IIS,如有神助),我决定不装这个客户端,仅到oracle站点下载一个包,然后修改一下系统环境的PATH。

    1、首先到oracle官方站点下载64位的 instantclient-basic-windows.x64-12.1.0.2.0.zip。
    里面有几个dll。看上去,.NET是依赖于其中的oci.dll来访问oracle。

    2、然后将这个包的路径加到系统环境变量PATH里
    主要是让系统能找到里面的oci.dll。据说系统会自动忽略32位的oci.dll,转而用这个64位的。

    3、PATH设置好以后,程序依然报错。靠。查看PATH,生效了,但不知为什么,程序还是报错。一怒之下,重启,问题解决。真贱,不重启都不行。

    估计是系统初始化时,会加载这个PATH的?然后加载完就完了,才不管你这个PATH是否已经修改。

  • 相关阅读:
    C#.NET Winform 快速开发平台
    .Net C/S系统开发框架(楚楚原创)
    C# Winform 开发框架
    php导出excel表格超链接
    tp3使用PHPExcel 导出excel
    tp文件上传、表格转数组
    BUG修复记录
    tp3切库问题记录
    个人总结
    初识爬虫(番外篇-python)
  • 原文地址:https://www.cnblogs.com/leftfist/p/6808705.html
Copyright © 2020-2023  润新知