部署在IIS上的webservice连接英文字符集的ORACLE数据库出现问题“未在本地计算机上注册"MSDAORA.1"提供程序”,解决方案如下:
原因:如错误,64位系统未注册"MSDAORA.1"提供程序
解决:在IIS应用程序池中找到自己的网站,打开高级设置,设置“启用32位应用程序”为“True”即可。
另外还有其他解决方案,比如设置项目目标平台为x86,使用其他连接字符串等。相对来说改应用程序池最简单方便,也不会更改项目和代码。
调用存储过程的方法:
解决方法:call pro_name (参数1,参数2,参数3...)(备注:如果是字符串类型的加'' ,如果是number不加单引号,如果是日期要按照日期格式(oracle中是to_date('','')))
尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题(64位的服务器)
解决方法:
①安装ORACEL32位客户端
②安装oracle64位客户端并修改环境变量
③用webservice调用exe程序,其中连接数据库的语句都在exe程序中写(这种方法不建议使用)
④用Oracle.ManagedDataAccess.Client方式连接,需要安装ODP.NET Managed驱动
ODBC连接方式步骤:
①安装ODBC驱动,需要配置相关的连接信息
②连接字符串:DRIVER={InterSystems ODBC};SERVER=myServerAddress; DATABASE=myDataBase; UID=myUsername;PWD=myPassword;