我在Win7专业版64位系统上安装了VS2008,数据库是安装在同一台机器上的Oracle11g r2。
在Data Source Configuration Wizard --> New Connection Data Source: Oracle Database (Oracle Client)中,当我在输入服务名称、用户名和密码后单击Test Connection时,出现以下错误:
试图加载Oracle客户端库时抛出BadImageFormatException。在安装了32位Oracle客户端组件的情况下以64位模式运行时,将出现此问题。
--我没有安装oracle客户端,因为在这种情况下不需要,我在我的笔记本电脑Win 7 32位Oracle11g r2 32位上有相同的设置,一切工作正常。
如果你们对这个问题有解决方案,请让我知道。
发布于 2011-07-22 03:19:36
我不能从你的问题中看出你对此有多了解。由于18天内没有人给出答案,我将输入我的$.02 Since。我对Oracle一无所知,但我猜客户端.dlls是在非托管环境中编写的,不能支持托管应用程序所支持的“任何.DLL”概念。您有几个选择。1.在64位膝上型计算机上加载64位版本的Oracele client .DLLs。2.不要使用向导的测试连接功能。你可以将你正在构建的32位机器的应用程序作为目标,当你的应用程序运行时,你不会遇到这个问题(有关目标的一些详细信息,请访问see this blog post)
发布于 2012-12-04 19:04:34
VS2008是一个x86应用程序,但当您尝试设置新的连接数据源时,您正在使用x64驱动程序。
您可以使用像procmon.exe这样的工具来证明这一点。如果您这样做了,您可能会注意到,在启动测试连接过程后,它将尝试加载一些x64驱动程序,因此加载BadImageFormatException。
解决方案是安装Visual Studio所需的x86驱动程序。
发布于 2013-03-09 23:05:16
只需在您的项目中设置PlatformTarget构建属性,它就应该可以工作了。
https://stackoverflow.com/questions/6560367
复制相似问题