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

前言
鉴于工作急需,现必要从远程Oracle数据库获取数据。本身初始觉得能够一贯远程,试了下竟是十分,提醒“System.Data.OracleClient 必要 Oracle 客户端软件
捌.1.7或越来越高版本。”。公司的渴求就是不装客户端,不能够只好找找看有未有别的方案。

Instant Oracle
命局不错,还真找到1可用方案,正是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
请依据操作系统和劳务端Oracle版本采纳下载,下载供给帐号,注册一下就行了。
自笔者系统是Windows Server
200三,选取Windows(3一位)版本。由于中远距离服务器装的是Oracle
10g,小编采取了Version 10.二.0.5的Basic包,33.二M。至于其余的Basic Lite、JDBC
Supplement、SQL*Plus、SDK和ODBC包,有趣味的朋友能够活动钻研。

安装Instant Oracle
实际不需求设置,解压就足以了,要不要重命名看个人了。那里说那一个是想等下装个PLSQL测试下。自个儿将解压后的instantclient_10_2重命名叫OracleInstantClient_10_二,拷贝到F盘根目录。

PLSQL Developer
若果急需安装PLSQL Developer,请按步骤设置。
一.在刚刚的F:\OracleInstantClient_10_二目录新建多个目录,层级为NETWOKugaK\ADMIN。然后在新建1记事本,重命名称叫tnsnames.ora,打开后输入配置内容。将HOST、PO汉兰达T、SERAV四VICE_NAME改为友好的始末,至于第叁行的orcl是与登录的时候有关,写成abc什么的都得以,不过登录时的Database也得填abc。

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

2.设置环境变量(笔者的电脑->右键“属性”->高级->环境变量->用户变量),新建一个用户变量,变量名NLS_LANG,变量值SIMPLIFIED
CHINESE_CHINA.ZHS16GBK。

3.配置PLSQL
Developer。Tools->Preferences->Oracle->Connection,设置Oracle
Home为F:\OracleInstantClient_10_2,OCI
library为F:\OracleInstantClient_10_2\oci.dll。
4.重启PLSQL Developer,登录。

远程连接Oracle
说明:以上的环境变量、配置都是为PLSQL
Developer服务的,单纯的远程Oracle就没要求做那么些操作了,只须要拷贝6个dll到花色中就能够了。

OCI Instant Client Data Shared Library

  • oraociei10.dllOracle, (Basic version)

Client Code Library

  • oci.dll

Security Library

  • orannzsbb10.dll

OCCI Library

  • oraocci10.dll

一.新建Windows窗体应用程序,新建窗体,命名称为Form1。
2.引用System.Data.OracleClient。
三.拷贝oci.dll、orannzsbb十.dll、oraocci10.dll、oraociei十.dll到项目中,跟Form同级。然后设置那四个dll文件属性“复制到输出目录”为“设若较新则复制”。
四.远程连接字符串,请改为祥和的:Data
Source=(DESC卡宴IPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=1九2.16八.0.60)(POPAJEROT=15二一))(CONNECT_DATA=(SID=orcl)));User
Id=yourUID;Password=yourPWD;
伍.剩下的OracleConnection什么的就本人消除吧。

附录
Instant Oracle Using
C#

by Paul Groetzner
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

相关文章