当前位置:必发365电子游戏 > 操作系统 > 必发365电子游戏现需要从远程Oracle数据库获取数据,2、增加程序包的体积(Oracle instant
必发365电子游戏现需要从远程Oracle数据库获取数据,2、增加程序包的体积(Oracle instant
2019-12-19

前言
出于职业亟待,现须要从远程Oracle数据库获取数据。本人开始感到可以间接远程,试了下以至十二分,提醒“System.Data.OracleClient 须要 Oracle 顾客端软件 8.1.7 或越来越高版本。”。公司的渴求就是不装顾客端,无法只可以找找看有未有别的方案。

本办法优点: 1、程序内集成Oracle顾客端,没有必要客商自行开展陈设

Instant Oracle
天意不错,还真找到风度翩翩可用方案,就是Instant Oracle。
关于Instant Oracle的介绍请看。

本方法短处: 2、扩张程序包的体量(Oracle instant client本人有几十兆大小)

下载Instant Oracle
Instant Oracle的下载地址:。
请依照操作系统和劳动端Oracle版本接收下载,下载供给帐号,注册一下就能够了。
本身系统是Windows Server 二零零一,选拔Windows(叁14人卡塔尔国版本。由于中远间距服务器装的是Oracle 10g,作者选取了Version 10.2.0.5的Basic包,33.2M。至于其它的Basic Lite、JDBC Supplement、SQL*Plus、SDK和ODBC包,有意思味的恋人能够自动钻研。

上面说一下什么样促成。

安装Instant Oracle
事实上无需设置,解压就足以了,要不要重命名看个人了。这里说那一个是想等下装个PLSQL测验下。本身将解压后的instantclient_10_2重命名字为OracleInstantClient_10_2,拷贝到F盘根目录。

PLSQL Developer
比方急需设置PLSQL Developer,请按步骤设置。
1.在刚刚的F:OracleInstantClient_10_2索引新建三个目录,层级为NETWOTucsonKADMIN。然后在新建意气风发记事本,重命名称为tnsnames.ora,展开后输入配置内容。将HOST、PORT、SECRUISERVICE_NAME改为和谐的剧情,至于第后生可畏行的orcl是与登陆的时候有关,写成abc什么的都能够,然则登陆时的Database也得填abc。

若果您tns名称来访谈oracle数据库,那么还要做以下专门的学业。 

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

2.安装境况变量(小编的Computer->右键“属性”->高档->情形变量->客商变量),新建多少个顾客变量,变量名NLS_LANG,变量值SIMPLIFIED CHINESE_CHINA.ZHS16GBK。

完全代码如下:

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

 // 这一句取得了oracle 驱动文件夹的位置,也就是放oci.dll的地方。
            string oraclePath = System.Windows.Forms.Application.StartupPath + @"ORCLconn";
            // //这一句设置环境变量“PATH”,写入oracle驱动所在的文件夹,
            // //第三个参数表示这个PATH只在当前进程起作用,不会修改电脑本身。 
            // //注意:如果你用到某些外部程序,还有其他PATH变量要设置,在这里加入就行了。具体方法参见.net相关文档。

///当系统还使用其他软件的环境变量时则需要先获取本机电脑上的环境变脸结合Oracle环境变量一起使用。
            string s = Environment.GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Machine);

            Environment.SetEnvironmentVariable("PATH", s + ";" + oraclePath, EnvironmentVariableTarget.Process);
            // //这一句,设置Oracle在通讯过程中使用的语言和字符集
            Environment.SetEnvironmentVariable("NLS_LANG", "SIMPLIFIED CHINESE_CHINA.ZHS16GBK", EnvironmentVariableTarget.Process);
            // //在程序的Oracle文件夹下增加tnsnames.ora,并将tns名称的配置写到里边去。
            // //b.在程序设置环境变量的地方c.连接字符串里应该可以使用tns名称了

            Environment.SetEnvironmentVariable("TNS_ADMIN", oraclePath, EnvironmentVariableTarget.Process);

长途连接Oracle
说明:以上的景况变量、配置都感到PLSQL Developer服务的,单纯的远程Oracle就没供给做这个操作了,只须求拷贝4个dll到项目中就足以了。

 

OCI Instant Client Data Shared Library

Client Code Library

Security Library

OCCI Library

1.新建Windows窗体应用程序,新建窗体,命名称为Form1。
2.引用System.Data.OracleClient。
3.拷贝oci.dll、orannzsbb10.dll、oraocci10.dll、oraociei10.dll到花色中,跟Form同级。然后设置那4个dll文件属性“复制到输出目录”为“假使较新则复制”。
4.远程连接字符串,请改为和煦的:Data Source=(DESCCRUISERIPTION=(ADDRESS=(PROTOCOL=TCP卡塔尔国(HOST=192.168.0.60卡塔尔国(PORT=1521卡塔尔国卡塔尔(英语:State of Qatar)(CONNECT_DATA=(SID=orcl)));User Id=yourUID;Password=yourPWD;
必发365电子游戏现需要从远程Oracle数据库获取数据,2、增加程序包的体积(Oracle instant。5.剩下的OracleConnection什么的就和睦清除吧。

附录
Instant Oracle Using C# by Paul Groetzner

下一篇:没有了