这几天开发一个WebService遇到很多问题,记录下来顺便帮助一下以后遇到情况的人。

我是通过ADO.NET来连接ORACLE的,也可以用ORACLE提供的ODP.NET。

通过正常的连接后部署IIS 用IE调用我的接口出现了

“System.InvalidOperationException: 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。 ---> System.BadImageFormatException: 试图加载格式不正确的程序。”

解决这个问题:

第一步原因:

我服务器系统是 Server2008 R2 64位 ORACLE的服务端安装的是64位,客户端安装64位,为了解决了这个问题,我通过WinForm程序测试用ADO.NET通过64位的ORACLE客户端连接64位服务端始终不成功。无奈之下安装了32位的客户端后就可以访问了。

第二步原因:

我开发WebService的时候用2.0的框架,我本机系统是64位的WIN7,在生成程序的时候我是默认的Any CPU。可能生成发布的时候是64位的,网上有说改为X86,但这种方法也依然无法解决我的额外难题,然后我在IIS里对应网站的应用程序池里把“启用32应用程序”设位Treu 这下可以运行了。

在调用WEBSERIVCE的时候又出现了问题,在IE调用接口报“webservice 返回datatable无法序列化 DataTable。未设置 DataTable 名称。” 我webService调用了一个方法 方法返回值是DataTable 按照提示我把 DataTable加载了 Name但还是没有解决这个问题,应为DataTable无法序列化 后来转换为了DataSet解决了这个问题。

还有一个问题是没有在目标机器上也就是没有在部署的WEBSERIVCE的IIS机器上访问Web接口的时候会出现“测试测试窗体只能用于来自本地计算机的请求。”的错误,这个问题解决方法要在配置文件里面添加

在web.config的<system.web></system.web>中间加入如下配置节内容
<webServices>
         <protocols>
            <add name="HttpSoap"/>
            <add name="HttpPost"/>
            <add name="HttpGet"/>
            <add name="Documentation"/>
         </protocols>
</webServices>

 
 
分类: ASP.NETC# Winform

安装64位的oracle连接客户端的更多相关文章

  1. (64位oracle使用32位的PLSQL)安装64位的oracle数据库软件,使用32位的PLSQL Developer连接方法

    因为PLSQL Developer没有提供64位的,于是依据网上的资料做了一下整理,发上来 1.下载并安装Oracle 11g R2 64位,在server上安装时忽略硬件检測失败信息: 2.下载Or ...

  2. 安装64位的oracle数据库, 使用自带的sqldeveloper

    个人感觉这个东西比plsql要好用, 虽然界面有点丑, 整个使用与plsql也没多大区别, 这里是他的位置C:\oracle_11g\product\11.2.0\dbhome_1\sqldevelo ...

  3. 转载:win10 下安装32位的Oracle 11g 客户端(问题:环境不满足最低要求)

    1. 在安装文件夹中,找 stage->cvu->cvu_prereq.xml文件. 2. 用记事本打开其xml文件进行编辑,加下面一段保存. <OPERATING_SYSTEM R ...

  4. PL/SQL Developer如何连接64位的Oracle图解

    在64位Win7系统上安装64位的Oracle数据库,但是没有对应的64位PL/SQL Developer,此时就不能使用PL/SQL Developer来进行直接连接的,所以要想实现连接还得需要其他 ...

  5. VS2010在64位系统中连接64位Oracle出现的问题和解决方法

    C#使用System.Data.OracleClient连接Oracle数据库.我的是window7/64位系统,装了一个64位的oralce 11G r2 客户端是64位的 用VS10调试错误信息如 ...

  6. [转] 32位 PL/SQL Develope r如何连接64位的Oracle 图解

    原文地址:LINK 由于硬件技术的不断更新,Win7系统逐渐成为主流,而且计算机内存逐渐增大,为了充 分的利用内存资源(因为32为系统最多只能用到3G左右的内存),提高系统性能,很多人开始使用Win7 ...

  7. [转]win7 64位下完美安装64位oracle 11g

    最近在网上搜如何在win764位的情况下安装64位的oracle,并且使用PLSQL Developer来管理oracle. 于是开始在oracle官网下载数据库,下载是一件很简单的事情,问题是在百度 ...

  8. 在已安装64位oracle的服务器安装32位客户端

    应用场景:服务器操作系统是win2012 64位,原先安装了64位oracle12,后来系统增加导入excel的功能,网站必须启用32位兼容模式,这时候发现原有的页面打不开,提示: 试图加载格式不正确 ...

  9. windows7 64位系统pl/sql 客户端的安装

    解压将下载到的将其解压,如我解压到了 E:\app\instantclient_11_2 3.设置PLSQL Developer在tools-prefrences,conncetion,OCI lib ...

随机推荐

  1. MySQL 更新中国列:1366 Incorrect string value 问题解决了

    周围环境:Win7 64位置,mysql-5.6.25-winx64,MySQL workbench 问题:MySQL在更新时出现异常: warning(s): 1366 Incorrect stri ...

  2. 问题(bug)确实不在代码逻辑上面,往往是配置、权限或者业务逻辑之外的地方(转)

    不能说所有的bug都是纸老虎,但往往那种看似很奇葩的bug,导致的原因确实很简单,烦了你一段时间,找到真相又让你忍不住一笑.什么是奇葩的bug呢.我的定义是:代码逻辑都一样,但在A处是好的,到了B处就 ...

  3. SVN在branch兼并和游戏patch(1)

    近期要hadoop2.4关于上面的行hdfs raid,但在此之前hdfs raid如svn 的branch发展,领导人希望patch方式hdfs raid功能进球trunk里面去,这里涉及到svn ...

  4. Android开发之自己主动登录功能的实现

    在我们平时使用的手机应用都能够实现仅仅须要登陆一次账号后,第二次进入应用直接跳转到效果界面的效果,还有QQ的登陆框是怎样记忆我们的隐身登陆,保存账号选项的呢,这些都是通过使用SharedPrefere ...

  5. .NET系统开发过程中积累的扩展方法

    分享.NET系统开发过程中积累的扩展方法   .NET 3.5提供的扩展方法特性,可以在不修改原类型代码的情况下扩展它的功能.下面分享的这些扩展方法大部分来自于Code Project或是Stacko ...

  6. shell变量赋值进阶

    首先,要理解shell中变量的3种赋值情况: unset 例子. unset a 空字符串, null 例子. a='' 非空,即不是unset,并且不是空字符串 例子: a=1 or a=b等 然后 ...

  7. 【Swift初见】Swift词典

    顾名思义.当我们仰望的时候,我们将基于索引查找我们需要找到的资源.在swift这同样适用,每个对象包括字典key和value.我们key为了找到当前这个key相应的value.与数组不同的是,字典项字 ...

  8. java_Eclipse自动生成作者、日期注释等功能设置_导入 xml方式

    常规方式 随便百度个 类比 http://blog.sina.com.cn/s/blog_4080505a0101guoh.html 这里主要介绍配好后,导出,xml,迁移环境时 导入 comment ...

  9. C语言 ## __VA_ARGS__ 宏

    在GNU C中,宏可以接受可变数目的参数,就象函数一样 可以把__VA_ARGS__看成是将...赋值给该宏 //注意这里不能在函数中调用abc() #include <stdio.h> ...

  10. 备份IIS httpd.ini 重写规则,兼容大部分版本号IISserver

    IISserver已经非常少,差点儿要退出市场了.nginx成为市场的主流. 备份一个httpd.ini,全部内容例如以下: [ISAPI_Rewrite] # 3600 = 1 hour Cache ...