oracle组建:ODAC112021Xcopy_x64,在开发机上,不用安装oracle的客户端等开发
配置的应用程序为x64的应用程序,以下解决方案是为了连接远程服务器上的oracle 11g 的解决方案。
- 下载地址:http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html
- 下载版本:64-bit ODAC 11.2 Release 3 (11.2.0.2.1) Xcopy for Windows x64
- 下载后文件名:ODAC112021Xcopy_x64.zip
解压后将看到如下目录:
- asp.net -- asp.net 2.0需要的放在bin下的文件。
- asp.net4 -- asp.net 2.0需要的放在bin下的文件。
- instantclient_11_2 -- 公共的dll,需要的放在bin下的文件。
- odp.net4 -- winform2.0 需要的放在bin下的文件。
- odp.net20 -- winform2.0 需要的放在bin下的文件。
- oledb -- 公共的dll,需要的放在bin下的文件。
- oramts -- 在开发时,这个文件,我没有用到
- xxx.bat(一些安装的命令文件,这些文件不需要执行)
我在开发时,
- 1,)没有直接执行instantclient_11_2下的任何文件,而是把该目录下的所有文件及文件夹拷贝到bin目录下(或者不拷贝应用程序的bin下,把该目录拷贝到某一个路径下,之后在环境path变量中追加该地址到path中)。
- 2,)之后包oledb下的所有.dll拷贝到 bin目录下;
- 3,)odp.net4下载所有.dll拷贝到bin目录下。
到此我们需要的所有oracle的dll已经拷贝完成,添加Oracle.DataAccess.dll引用到我们工程中;
在ODAC112021Xcopy_x64\odp.net4\odp.net\PublisherPolicy\4下包含两个文件:
Policy.4.112.Oracle.DataAccess.config
Policy.4.112.Oracle.DataAccess.dll
我已经把他们拷贝到bin目录了,之后打开Policy.4.112.Oracle.DataAccess.config,将:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89B483F429C47342"/>
<bindingRedirect oldVersion="4.112.0.0-4.112.2.0" newVersion="4.112.2.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
添加到工程的config中。
在工程中引入命名空间(而不需要引入System.Data.OracleClient,而是Oracle.DataAccess.dll或者Oracle.ManagedDataAccess.dll):
using Oracle.DataAccess.Client; using Oracle.DataAccess.Types;
测试代码:
string connecitonString = @"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.21.3.34)(PORT=1521))(CONNECT_DATA=(SID=db001)));User Id=username;Password=password;";
DataTable datatable = new DataTable();
using (OracleConnection connection = new OracleConnection(connecitonString))
{
using (OracleCommand command = new OracleCommand())
{
connection.Open();
command.Connection = connection;
command.CommandText = "select * from table_001 where rownum<10";
command.CommandType = CommandType.Text;
OracleDataAdapter dataAdapter = new OracleDataAdapter(command);
dataAdapter.Fill(datatable);
}
}
折腾了,n久才把程序调通。
注意:发布时需要包含bin下的所有外部oracle组件.dll相关文件。
oracle组建:ODAC112021Xcopy_x64,在开发机上,不用安装oracle的客户端等开发的更多相关文章
- .net远程连接oracle数据库不用安装oracle客户端
asp.net远程连接oracle数据库不用安装oracle客户端的方法下面是asp.net连接远程Oracle数据库服务器步骤: 1.asp.net连接oracle服务器需要添加Sytem.Data ...
- .net远程连接oracle数据库不用安装oracle客户端的方法
.net远程连接oracle数据库不用安装oracle客户端的方法步骤: 1.添加Sytem.Data.OracleClient命名空间. 2.连接时需要ConnectionString字符串,出现在 ...
- 转:不用安装Oracle客户端,远程连接Oracle数据库
转摘自: http://blog.sina.com.cn/s/blog_90b20fe70101az2z.html Oracle数据库安装过程较为繁琐,而且卸载更加麻烦,如果卸载不干净,下次安装Ora ...
- ORA-12538;ORA-12154;使用PL/SQL dve无法连接远程服务器上的oracle数据库,同时本机上也安装了一个oracle数据库
问题描述:本人使用PL/SQL dve连接远程服务器上的oracle数据库,一直是没有问题的.我想提高下自己在数据库方面的能力就在自己的笔记本上安装了一个oracle数据库实例,安装并配置好之后,使用 ...
- 【Oracle学习笔记-1】Win7下安装Oracle 10g
源程序获取 从Oracle的官网上下载Oracle 10g: 10203_vista_w2k8_x86_production_db.zip:==>服务器(必须) 10203_vista_w2k8 ...
- 《Oracle Database 12c DBA指南》第二章 - 安装Oracle和创建数据库(2.1 安装Oracle数据库软件和创建数据库概览)
当前关于12c的中文资料比较少,本人将关于DBA的一部分官方文档翻译为中文,很多地方为了帮助中国网友看懂文章,没有按照原文句式翻译,翻译不足之处难免,望多多指正. 2.1 安装Oracle数据库软件和 ...
- [转]不用安装Oracle Client如何使用PLSQL Developer
本文转自:http://www.cnblogs.com/sleepywang/archive/2009/10/13/1582654.html 1. 下载oracle的客户端程序包(30M) 只需要在O ...
- C#中不用安装Oracle客户端连接Oracle数据库(转)
原文地址:http://www.cnblogs.com/jiangguang/archive/2013/02/19/2916882.html 0.首先,从Oracle网站上下载对应版本的Oracle ...
- 不用安装Oracle客户端
1 pl/sql developer 1.1 下载解压instantclient-basic-nt-12.1.0.2.0. 1.2 在其目录下新建Network/ADMIN/tnsnames.ora文 ...
随机推荐
- 表单序列化 js
function serliaze(form) { //序列化表单 var obj = {}; $.each(form.serializeArray(), function (index) { if ...
- MySQL优化常用
一.mysql的配置都是小写的,使用下划线_或破折号-分割单词,两者是一样的二.在配置文件中可以用1m,1g等单位,但是用set命令,不能使用单位,默认单位是字节三.特殊例子a.query_cache ...
- maven run as(debug as)没有运行的选项时
run as - run configration -maven build- goal目录下填上:tomcat:run即可
- 【转】在C#用HttpWebRequest中发送GET/HTTP/HTTPS请求
http://zhoufoxcn.blog.51cto.com/792419/561934 这个需求来自于我最近练手的一个项目,在项目中我需要将一些自己发表的和收藏整理的网文集中到一个地方存放,如果全 ...
- C、VDD、VSS、 VEE 和VPP的区别
http://www.cnblogs.com/crazybingo/archive/2010/05/14/1735802.html C.VDD.VSS. VEE 和VPP的区别 在电子电路中,常可以看 ...
- php内容
PHP语言原理:先把代码显示在源代码中,再通过浏览器解析在网页上 PHP中关键字通常分为四种类型: 1. 用于数据类型定义的关键字,如:int,string,bool,classic,object和a ...
- 蓝牙--主机接口控制器(HCI)
I提供对基带控制器和链路管理器的命令以及访问蓝牙硬件的统一接口,它是我们实现自己的蓝牙设备索要接触的第一个蓝牙协议,起着承上启下的作用. 1.概述 如下图所示,HCI通过对链路管理器.硬件状态注册器. ...
- Ubuntu 更改默认apt-get源
原文转自:http://zhoushijun.iteye.com/blog/1942475 方法: 1.修改源地址:cp /etc/apt/sources.list /etc/apt/sources. ...
- java字符串和unicode互转
直接上代码 private static String decodeUnicode(String input) { if (null == input) return input; int len = ...
- javascript知识点记录(2)
1.js 异步加载和同步加载 异步加载模式也叫非阻塞模式,浏览器在下载js的同时,同时还会执行后续的页面处理, 在script标签内,用创建一个script元素,并插入到document中,这样就是异 ...