C#远程连接Oracle数据库(不安装客户端)

转载 2012年08月08日 16:27:51

前言
由于工作需要,现需要从远程Oracle数据库获取数据。本人开始以为可以直接远程,试了下竟然不行,提示“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本。”。公司的要求就是不装客户端,没法子只好找找看有没有其他方案。

Instant Oracle
运气不错,还真找到一可用方案,就是Instant Oracle。
关于Instant Oracle的介绍请看http://www.oracle.com/technetwork/database/features/oci/index.html

下载Instant Oracle
Instant Oracle的下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
我选择了Version 10.2.0.5的Basic包,33.2M。至于其他的Basic Lite、JDBC Supplement、SQL*Plus、SDK和ODBC包,有兴趣的朋友可以自行研究。


安装Instant Oracle
其实不需要安装,解压就可以了

然后在新建一记事本,重命名为tnsnames.ora,打开后输入配置内容。将HOST、PORT、SERVICE_NAME改为自己的内容,至于第一行的orcl是与登录的时候有关,写成abc什么的都可以,不过登录时的Database也得填abc。

orcl =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.60)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)


远程连接Oracle

  • OCI Instant Client Data Shared Library
    • oraociei10.dll (Basic version)
  • Client Code Library
    • oci.dll
  • Security Library
    • orannzsbb10.dll
  • OCCI Library
    • oraocci10.dll


引用System.Data.OracleClient。
拷贝oci.dll、orannzsbb10.dll、oraocci10.dll、oraociei10.dll


You need this solution if you have more than one application, instead of copying the dll files in each one do the following:-
- Copy the 4 dll files + ociw32.dll to: WINDOWS\system32 directory
- Create the folder: WINDOWS\system32\network\admin and locate the tnsnames.ora inside that folder
Now you don't need to copy the dll files to each application directory.
In addition, if your application has a crystal report it will run.


远程连接字符串,请改为自己的:Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.60)(PORT=1521))(CONNECT_DATA=(SID=orcl)));User Id=yourUID;Password=yourPWD;

附录
Instant Oracle Using C# by Paul Groetzner

http://www.codeproject.com/Articles/18692/Instant-Oracle-Using-C

C#不安装Oracle客户端连接Oracle数据库,使用微软自带System.Data.OracleClient访问Oracle

1、把instantclient-basic-win32-10.2.0.4.zip中的文件解压到指定位置,以下步骤都假设解压目录为:C:\\Oracle\\instantclient 注:下载地址:...

利用Instant Client ,不安装oracle客户端使用sqlplus连接远程数据库的步骤

利用Instant Client ,不安装oracle客户端使用sqlplus连接远程数据库的步骤 从oracle公司站点 http://www.oracle.com/technology...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

在C#中,远程连接Oracle数据库(不安装客户端,无需多余配置)

由于项目需要,现需要向远程oracle数据库插入数据。由于后期可能无法在部署程序的电脑上安装oracle客户端,网上也有一些解决办法,通常是要下载对应版本的Oracle Instant Client,...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

C#连接Oracle 11g 无需安装Oracle客户端

1.首先到Oracle网站上下载ODAC http://www.oracle.com/technetwork/topics/dotnet/downloads/index.html 2.下载的文件解...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

log4Net 以日期为文件名

下面是以日期为文件名:      

log4net配置使用说明

此文档是我在“大道至简”的基础上修改而成,再次表示谢谢! (一)log4net的标准配置文档示例 xmlversion="1.0"encoding="utf-8" ?> configuratio...
  • mymhj
  • mymhj
  • 2012年04月28日 08:46
  • 4688
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#远程连接Oracle数据库(不安装客户端)
举报原因:
原因补充:

(最多只允许输入30个字)