请选择 进入手机版 | 继续访问电脑版

程序人生

 找回密码
 注册

QQ登录

只需一步,快速开始

程序人生 门户 数据库 oracle 查看内容

C#不安装Oracle10g客户端连接Oracle10g数据库——最简单的Oracle连接方法

2013-9-1 20:47| 发布者: sean| 查看: 1372| 评论: 2

摘要: 最近一项目,要写成一个From程序,并且有关数据操作都是和Oracle打交道。。。这可累了,大家都知道,本机不装Oracle客户端,本机的程序是不能访问Oracle数据库的。可是一个客户端最少也得八十多兆。太大了。再多,程序 ...
最近一项目,要写成一个From程序,并且有关数据操作都是和Oracle打交道。。。
这可累了,大家都知道,本机不装Oracle客户端,本机的程序是不能访问Oracle数据库的。
可是一个客户端最少也得八十多兆。太大了。再多,程序部署也不方便。
在网上找了找还真有解决办法。狂喜.....好景不长啊。。。最后证实都不太好用。。。
最后终于在网络和同事们的共同努力下。终于测试成功。。
方法如下:(环境:Vs2003+Oracle10g)

1、把instantclient-basic-win32-10.2.0.4.zip中的文件解压到指定位置(我本机是解压到D:/fox,并命名为:instantclient)
其内面应该包括:BASIC_README、oci.dll、ocijdbc10.dll、ociw32.dll、orannzsbb10.dll、oraocci10.dll、oraociei10.dll、classes12.jar、ojdbc14.jar九个文件.
(注:下载地址:http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html;需注册用户,我下载的是:instantclient-basic-win32-10.2.0.4.zip)

2、添加tnsnames.ora文件(添加到D:/fox/instantclient文件中):
    文件tnsnames.ora其内容:
# tnsnames.ora Network Configuration File: D:/fox/instantclient/tnsnames.ora /*这是此文件地址*/
# Generated by Oracle configuration tools.

ORCL1 =/*这是本机联系Oracle服务器的服务名称,代码中用到*/
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 服务器地址IP 或服务器名称)(PORT = 服务器端口号,默认为“1521“))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = 服务器数据库服务的名字,默认为:”orcl“)
    )
  )



3、添加注册表内容:(其内容如下,涉及到的文件位置的根据自己需要改)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Environment]
"LD_LIBRARY_PATH"="D://fox//instantclient
"TNS_ADMIN"="D://fox//instantclient"
"NLS_LANG"="AMERICAN_AMERICA.ZHS16GBK"


4、添加环境变量

右键单击“我的电脑”-->“属性”-->“高级”-->“环境变量”-->“系统变量”-->选中“Path”-->“编辑”-->在“变量值”原来的数据后添加";D:/fox/instantclient"



5、重启计算机(经测试,按此顺序应该是不必重启的)。


6、查询Oracle数据库部分代码:

当然此代码的运行的基础:在此开发项目中——>添加引用——>.NET选项卡,选取System.Data.OracleClient.dll。
并在此cs开头添加:using System.Data.OracleClient;//引用Oracle连接类

        private void button8_Click(object sender, System.EventArgs e)
        {
            try
            {
                OracleConnection cnn=new OracleConnection("Data Source=orcl1;User ID=方案名;Password=密码");
                cnn.Open();
                OracleDataAdapter myDa =new OracleDataAdapter();
                  myDa.SelectCommand = new OracleCommand("select * from /"表名/"",cnn); //查询时,表名用双引号括起来
                  DataSet myDs =new DataSet();
                  myDa.Fill(myDs);
                this.textBox1.Text=myDs.Tables[0].Rows[0][0].ToString();//得到查询表的第一行第一列
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }


以上就是我的不装Oracle客户端连Oracle数据库的办法。
2

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (2 人)

相关阅读

发表评论

最新评论

引用 remo 2013-10-10 10:01
我也是装到本地了才可以的
引用 Luckystar 2013-9-4 13:57
学习了

查看全部评论(2)

相关分类


关于程序人生网|小黑屋|手机版|Archiver|

程序人生 | QQ

粤公网安备 44040202000007号

( 粤ICP备13038131号-5 )

返回顶部