C#远程连接Oracle数据库(通过System.Data.OracleClient)

在.NET中使用System.Data.OracleClient库连接Oracle数据库的步骤

1.下载并安装Instant Client

Instant Client可以在Oracle官方网站下载到

对于Windows,Instant Client有三种版本:

1)适用于 Microsoft Windows(32位)的 Instant Client

2)适用于 Microsoft Windows(64位)Itanium的 Instant Client

3)适用于 Microsoft Windows(x64)的 Instant Client

可以通过在我的电脑上单击右键菜单中的属性中查看到自己电脑的处理器信息

由于我的电脑是Win7 64位系统,因此我下载了第三个包

下载完毕后,解压缩并将里面的bin目录的地址添加到环境变量path中。

再在环境变量中添加以下属性:

(我把解压缩的路径放到了D盘,解压缩后的文件夹名为instantclient_12_1)

NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

TNS_ADMIN=D:\instantclient_12_1

LD_LIBRARY_PATH=D:\instantclient_12_1

2.使用Xshell4远程连接安装有Oracle的RedHat系统

需要输入以下项:

1)Name:自己起个名字

2)Protocol:选择SSH

3)Host:目标主机IP

4)Port Number:端口号(22)

5)登录的用户名/密码

附:Linux中登录数据库的命令为

sqlplus 用户名/口令@数据库名

3.获取连接字符串

查找ORACLE安装地址

Linux命令:echo $ORACLE_HOME

tnsnames.ora位于

$ORACLE_HOME\NETWORK\ADMIN

用vim打开tnsnames.ora后,发现Oracle数据库的配置如下:

xtcsjk =
    (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 171.0.0.132)(PORT = 1521))
        (CONNECT_DATA =
            (SERVER = DEDICATED)
            (SERVICE_NAME = testdb)
        )
     )

根据这个文件,就可以写出连接这个Oracle数据库的连接字符串了

Data Source=
    (DESCRIPTION=
        (ADDRESS_LIST=
            (ADDRESS=
                (PROTOCOL=TCP)
                (HOST=171.0.0.132)
                (PORT=1521)
            )
        )
        (CONNECT_DATA=
            (SERVICE_NAME=TESTDB)
        )
    );
Persist Security Info=True;
User Id=用户名;
Password=密码

4.程序代码

注:运行下面这段代码,需要

1)手动添加对库System.Data.OracleClient的引用

2)在程序集→右键→属性→生成中,把目标平台由AnyCPU改为x64

否则会报异常BadImageFormatException(兼容性问题)

3)如果没有完成Instant Client的安装或环境变量的配置,运行时会报异常信息:

System.Data.OracleClient 需要 Oracle 客户端软件 version 8.1.7 或更高版本

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

//Method1函数调用的库,需要手动添加引用
using System.Data.OracleClient;

namespace OracleTest
{
    class Program
    {
        //从Oracle数据库中读取时间信息
        static void ReadFromOracleTest()
        {
            string conn = string.Concat(
                          @"Data Source=",
                          @"    (DESCRIPTION=",
                          @"        (ADDRESS_LIST=",
                          @"            (ADDRESS=",
                          @"                (PROTOCOL=TCP)", 
                          @"                (HOST=171.0.0.132)",
                          @"                (PORT=1521)",
                          @"            )",
                          @"        )",
                          @"        (CONNECT_DATA=",
                          @"            (SERVICE_NAME=TESTDB)",
                          @"        )",
                          @"    );",
                          @"Persist Security Info=True;",
                          @"User Id=用户名;",
                          @"Password=密码"
                          );

            //OracleConnection 被标注为已过时
            OracleConnection oc = new OracleConnection(conn);

            try
            {
                oc.Open();
                //OracleCommand 被标注为已过时
                OracleCommand cmd = oc.CreateCommand();
                cmd.CommandText = "select sysdate from dual";
                OracleDataReader odr = cmd.ExecuteReader();
                while (odr.Read())
                {
                    Console.WriteLine(odr.GetOracleDateTime(0).ToString());
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                oc.Close();
            }
        }

        static void Main(string[] args)
        {
            ReadFromOracleTest();
            Console.ReadLine();
        }
    }
}

5.运行示例

END

C#远程连接Oracle数据库(通过System.Data.OracleClient)

时间: 2024-07-31 04:28:38

C#远程连接Oracle数据库(通过System.Data.OracleClient)的相关文章

Windows7下PL/SQL配置远程连接Oracle数据库

PL/SQL Developer是一个集成开发环境,专门开发面向Oracle数据库的应用.同时,PL/SQL也是一种程序语 言,叫做过程化SQL语言(Procedural Language/SQL).PL/SQL是Oracle数据库对SQL语句的扩展.在普通SQL 语句的使用上增加了编程语言的特点.PL/SQL只有Oracle数据库有,Mysql目前不支持PL/SQL. 由于工作关系,最近需要操作SQL语句,数据库是Oracle10g.操作数据库总不能直接在服务器上操作吧,一般都是 远程,所以找

PLSQL Developer工具远程连接Oracle数据库的方法

Oracle数据库安装过程较为繁琐,而且卸载更加麻烦,如果卸载不干净,下次安装Oracle就不会成功.下面就为大家介绍一种不用安装Oracle客户端而利用PLSQL Developer工具远程连接Oracle数据库的方法. 首先需要在Oracle官网上下载这个软件:instantclient-basic-win32. 然后解压,打开这个文件,在里面新建一个文件:NETWORK,在NETWORK中新建一个文件夹:ADMIN,在ADMIN中新建一个文件:tnsnames.ora.在tnsnames.

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

本文 由 彭旭 创作,采用 知识共享 署名-相同方式共享 3.0 中国大陆 许可协议进行许可.欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接. 前言由于工作需要,现需要从远程Oracle数据库获取数据.本人开始以为可以直接远程,试了下竟然不行,提示“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本.”.公司的要求就是不装客户端,没法子只好找找看有没有其他方案. Instant Oracle运气不错,还真找到一可用

PL/SQL Developer远程连接Oracle数据库

修改数据库配置文件:tnsnames.ora  [我的数据库位置:D:\app\Icey-evil\product\11.2.0\dbhome_1\NETWORK\ADMIN] 根据服务器地址加入以下内容: 10.88.250.28 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.88.250.28)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = ORC

PHP7在windows上配置远程连接Oracle数据库的方法

由于项目需求,需要去其他项目组的oracle数据库上面去定时的获取一些数据,在本地配置了一下连接都oracle的方法,踩过windows上配置的一个又一个的坑,终于完成了配置,在此分享一下,希望能够帮助到有需要的的人. 1.首先验证一下他们给的只读账号是否能够连接成功,需要在本地安装连接工具(PLSQL Developer) 2.配置PLSQL Developer连接需要下载oracle即时客户端(instantclient_11_2)工具,建立一个tnsnames.ora文件里面保存连接数据库

c# 远程连接ORACLE数据库

使用该方法,只需要传入几个必要的参数就可以进行数据库的远程连接测试了,连接成功返回TRUE,失败返回false. 说明: 第一个参数表示你在数据库中的用户,具有可以登录权限的 第二个参数表示用户的密码,没有加密 第三个参数表示登录的服务器的地址 第四个参数表示登录的服务器的端口号 第五个参数表示登录的数据库的名字 一定记得必要的引用 /// <summary> /// 测试数据库连通 /// </summary> public static bool db_connection_t

PL/SQL Developer 远程连接Oracle数据库

http://database.51cto.com/art/201108/280487.htm 网上搜了很多方法,这个可行!  1.    配置服务器tnsnames.ora文件,如果本机上没有安装oracle,可以从安装了oracle的机上拷贝一个(tnsnames.ora文件)放在指定目录下,因为我已安装oracle,所以直接配置该文件. # tnsnames.ora Network Configuration File: D:\Oracle11g\product\11.2.0\dbhome

PLSQL Developer远程连接oracle数据库

前提是本机已经安装oracle,利用 net configuration assistant . 若本机没有安装oracle,无需装oracle的方法请点我 打开net configuration assistant,选择"本地网络服务名配置,如下图所示 然后选择添加 服务名选择远程数据库实例名 主机名填写ip地址 选择进行测试 点击更改登录,进行测试 next 至此,配置完毕.可以用plsql developer连接了.

修改本地配置远程连接oracle数据库

当我们需要查看数据库信息时,我们更愿意通过客户端来查看,这样不仅操作方便,而且查看更精准.那么需要远程连接数据库需要在本地修改那些配置呢?以下是我个人的经验,希望大家都指正. 1.在oracle安装目录\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora文件中添加红线以下的配置,可以换行,但不能有间隔. # tnsnames.ora Network Configuration File: E:\oracle\product\11.2