vs2022如何连接oracle

vs2022如何连接oracle,第1张

vs2022如何连接oracle的解决方法如下:

本机环境:64位win7,安装了64位的oracle桌面类

服务器环境:64位windows server 2008,64位oracle服务器端

问题:本机用sql developer连数据库没有问题,winform程序连接也没有问题,但是web程序连接oracle失败,报错:“尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。“

解决过程:在网上查找原因,说是因为VS的webDe.webServer.exe 是一个32位的进程,所以连不上64位数据库,解决方法提了很多,包括把项目的属性里的生成选项里的目标平台:改为x86,web项里的服务器改成iis不使用vs自带的web deleloper ment 服务,修改path环境变量等,但是都没管用。

最终的解决办法:安装32位oracle客户端(win32_11gR2_client.zip),但是这样一来winform程序又连不上数据库了,得把winform程序的项目属性里生成选项的目标平台改成x86,这样就都行了。

64位的oracle是在本机上吗?

如果是的,那么用类似下面的方法就可以。

使用InstantClient,PL/SQL Developer连接Oracle(可以在32位机器上使用、也可以在64位机器上使用):

•1. 下载32位Oracle InstantClient,并展开到某目录,例如C:\instantclient-basic-nt-11.2.0.2.0;

•2. 将系统的tnsnames.ora拷贝到该目录下;

•3. 在PLSQL Developer中设置Oracle_Home和OCI Library:

ToolsPreferencesOracleConnection:

Oracle_Home: C:\instantclient-basic-nt-11.2.0.2.0

OCI Library: C:\instantclient-basic-nt-11.2.0.2.0\oci.dll

•4. 在PLSQL Developer目录下新建如下bat文件,替换其快捷方式,启动PLSQL Developer:

@echo off

set path=C:\instantclient-basic-nt-11.2.0.2.0

set ORACLE_HOME=C:\instantclient-basic-nt-11.2.0.2.0

set TNS_ADMIN=C:\instantclient-basic-nt-11.2.0.2.0

set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

start plsqldev.exe


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9665456.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存