winform连接oracle时Oracle.DataAccess.dll版本问题
1.通用TestOracle.zip部署到iis上,或直接运行程序测试当前全局程序集
protected void Button1_Click(object sender, EventArgs e)
{
//OracleConnection con = new OracleConnection("Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = ip地址)(PORT = 1521)))( CONNECT_DATA =(SERVICE_NAME = orcl)));User Id=用户名;Password=密码;");
DbFactory.Init("Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = ip地址)(PORT = 1521)))( CONNECT_DATA =(SERVICE_NAME = orcl)));User Id=用户名;Password=密码;", DbTypeEnum.Oracle);
OracleConnection con = (OracleConnection)DbFactory.GetDbCon();
con.Open(); //获取当前运行的dll的版本
Assembly assembly = Assembly.GetExecutingAssembly();
Response.Write(con.GetType().Assembly.FullName + "<br/>");
con.Clone(); //获取自己封装的数据访问版本
//DbHelper db = DbFactory.GetInstance();
//Response.Write(db.GetType().Assembly.FullName + "<br/>"); ////获取ODP.Net的版本
//DbConnection cnn = DbFactory.GetDbCon();
//Response.Write(cnn.GetType().Assembly.FullName + "<br/>"); //var r = db.ExecuteReader(cnn, CommandType.Text, "select * from BJSW_RSVR_R t");
//Response.Write(r.HasRows);
//cnn.Close(); //方式二
//DbHelper db = DbFactory.GetInstance();
//var r = db.ExecuteReadEntity<X>(DbFactory.ConnectionString, CommandType.Text, "select * from HY_GPH_A", (reader) =>
//{
// Response.Write(reader.HasRows);
// if (reader.Read())
// {
// List<X> l = new List<X>();
// l.Add(new X() { Name = reader[0].ToString() });
// return l;
// }
// else
// {
// return null;
// }
//}); //方式三
//TestDao dao = new TestDao();
//var list = dao.QueryList();
//Response.Write(list == null?"没有数据":"有数据");
}
2.将winform生成的版本修改为x64,一般服务器都是64位
3.在app.config中添加Oracle.DataAccess.dll版本
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89B483F429C47342" culture="neutral" />
<bindingRedirect oldVersion="4.112.3.0" newVersion="2.112.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>
</configuration>
4.通过TestOracle.zip得到Oracle.DataAccess版本,将版本添加到newVersion中

5.获取值在程序集中查看Oracle.DataAccess版本

6.Test
7.silverlight 在web.config中添加配置
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Oracle.DataAccess"
publicKeyToken="89B483F429C47342"
culture="neutral" />
<bindingRedirect
oldVersion="4.112.3.0"
newVersion="2.112.1.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
winform连接oracle时Oracle.DataAccess.dll版本问题的更多相关文章
- winform连接oracle时Oracle.DataAccess.dll版本问题 Silverlight
1.通用TestOracle.zip部署到iis上,或直接运行程序测试当前全局程序集 protected void Button1_Click(object sender, EventArgs e) ...
- Winform 连接Oracle10g时出错的解决方法
环境:Win7(64位). VS2012 update3.Oracle10 (本机已安装ODTwithODAC1120320_32bit) 最近在开发一程序时莫名其妙报一个错误(未能加载文件或程序集“ ...
- 让人蛋疼的“Oracle.DataAccess.dll”
项目介绍:为前台网站提供rest接口来操作erp相关数据 涉及db:oracle11 技术方案:因为erp是用remoting来调用,我想rest实现部分调用remoting来操作减少耦合,当然性能上 ...
- Oracle.DataAccess.dll 部署安装
Oracle.DataAccess.dll 要拷贝到项目发布目录 项目发布的时候,还必须要拷贝以下几个文件在运行目录1.oci.dll 2.oraociicus11.dll 3.OraOps11w.d ...
- 错误: 未能完成程序集的安装(hr = 0x8007000b),.net程序关于使用Oracle.DataAccess.dll不同版本x86和x64问题,即oracle odp.net 32位/64位版本的问题
如果你的机器上安装了odp.net,且确信machine.config也有类似以下结节:(64位+.net 4.0环境下,machine.config可能会有4份,分别对应于.net2.0/4.0的3 ...
- Web项目使用Oracle.DataAccess.dll 类库连接oracle数据库
首先我用的工具是oracle 32位免安装版+Oracle.DataAccess.dll 32位 文件版本4.121.1.0+vs2013 +win7 64位 Oracle.DataAccess.d ...
- IIS 连接 oracle报Oracle.DataAccess版本错误解决办法
通过IIS连接oracle时报“Could not load file or assembly 'Oracle.DataAccess, Version=2.112.3.0, Culture=neutr ...
- Asp.net using Oracle.DataAccess.dll access oracle 11g 64bit & x86
使用.net访问oracle数据库时一般需要在机器上安装instantclient才能正常连接. 下面介绍一种不用安装instantclient直接引用dll就用.net能连接oracle数据库的方法 ...
- Navicat 连接Oracle时提示oracle library is not loaded的问题解决
笔者使用的Navicat Premium 12启动界面截屏: 请注意是64位的.笔者win7 64位系统. 连接Oracle时提示“oracle library is not loaded”. 解决方 ...
随机推荐
- hdu 2614
#include<stdio.h> int map[99][99]; int vist[99]; int sum=1; int maxsum=1; int max=0; int N; vo ...
- iOS开发UITableView基本使用方法总结
本文为大家呈现了iOS开发中UITableView基本使用方法总结.首先,Controller需要实现两个delegate ,分别是UITableViewDelegate 和UITableViewDa ...
- OpenGL ES
前言 OpenGL ES是Khronos Group创建的一系列API中的一种(官方组织是:http://www.khronos.org/).在桌面计算机上有两套标准的 3DAPI:Direct3D和 ...
- STM32F10X SPI操作flash MX25L64读写数据(转)
源:STM32F10X SPI操作flash MX25L64读写数据 前一段时间在弄SPI,之前没接触过嵌入式外围应用,就是单片机也只接触过串口通信,且也是在学校的时候了.从离开手机硬件测试岗位后,自 ...
- java实现——006重建二叉树
public class T006 { public static void main(String[] args){ int pre[] = {1,2,4,7,3,5,6,8}; int in[] ...
- AppBarLayout学习笔记
LinearLayout的子类 AppBarLayout要点: 功能:让子View(AppBar)可以选择他们自己的滚动行为. 注意:需要依赖CoordinatorLayout作为父容器,同时也要求一 ...
- EF的join用法
var customers = DB.Customer.Join(DB.Commission, cst => cst.CommissionId, ...
- IOS开发中使用AFNetworking请求网络数据
1.把AFNetworking的文件拖放到项目中(注意不同的版本方法不一样,本历程基于版本2013): 2.使用#import "AFNetworking.h"命令把AFNetwo ...
- android 菜单的总结
安卓菜单有三种菜单. 选项菜单: 点击系统菜单按钮会触发 上下文菜单:长按屏幕触发 子菜单:某一个菜单的下一级菜单 具体的描叙:http://blog.csdn.net/zqiang_55/artic ...
- [Poi2000]公共串 && hustoj2797
传送门:http://begin.lydsy.com/JudgeOnline/problem.php?id=2797 题目大意:给你几个串求出几个串中的最长公共子串. 题解:先看n最大才5,所以很容易 ...