win10 64位 C# 连接oracle 32位, 遇到的问题及解决

  首次 本机电脑是win10系统 64位的;安装的oracle数据库也是64位的;

服务器端的oracle 是32位的;

第一次安装的pl/sql 也是64位的, 配置完  F:appln_qiproduct11.2.0dbhome_1NETWORKADMINtnsnames.ora 文件后, 

运行vs2017 ,报错:尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。

之后,就是百度报解决方案,全都不好使.

解决:

把64位的pl/sql 卸载,

下载一个32位的pl/sql(我下载的是pl/sql 8.0.4),

下载 Oracle Client文件instantclient-basic-win32-11.2.0.1.0.zip解压到C盘(注意啦!不能下64位的)。-------主要是要这个文件 oci.dll

然后在解压后的C:instantclient_11_2目录下新建NETWORKADMIN目录,在ADMIN目录下新建tnsnames.ora文件,添加数据库TNS。

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = chiclewu-PC)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

(注意:tnsnames.ora文件也可以从Oracle数据库HOME目录的NETWORKADMIN目录,还要把sqlnet.ora拷贝过来。然后确定HOST配置是否正确,如果HOST是主机名,需要把主机名后面的域名去掉)

点击“确定”,现在配置已完成,下面就是等待奇迹的时刻。退出PL/SQL Developer。

可能参照  https://www.cnblogs.com/ymj126/p/3712727.html

原文地址:https://www.cnblogs.com/ln-qiqi/p/10723893.html