/// <summary>
/// Oracle 的数据库连接字符串.
/// </summary>
private const String connString =
@"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.210)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)));User Id=TEST;Password=TEST123"; 那个 192.168.1.210 是 Oracle 数据库服务器的 IP 地址
1521 是 默认的端口号
SERVICE_NAME=ORCL 意思是 那个 Oracle 数据库服务是 ORCL
后面就是 用户名 密码了。

在.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=)
)
)
(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().ToString());
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
oc.Close();
}
} static void Main(string[] args)
{
ReadFromOracleTest();
Console.ReadLine();
}
}
}
 

  

5.运行示例

C#连接oracle连接字符串的更多相关文章

  1. PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora原理解释

    PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora原理解释 oracle网络配置三个配置文件 lis ...

  2. jdbc连接oracle数据库字符串

    jdbc连接oracle数据库有两种方式: 连接数据库SID 连接数据库service_name 当连接SID时,字符串如下: url::orcl1" password="xxxx ...

  3. C#连接Oracle数据库字符串(引入DLL)

    需求:从一台Oracle数据库获取数据,本以为是很简单的事情,直接将原来的SqlClient换成OracleClient调用,结果远没自己想的简单.要么安装Oracle客户端,要么安装PLSQL.网上 ...

  4. jdbc连接Oracle连接字符串方法

  5. Excel VBA 连接各种数据库(二) VBA连接Oracle数据库

    本文主要内容: Oracle环境配置 ODBC驱动设置.第三方驱动下载 VBA连接Oracle连接方法 Oracle10g官方免账号下载地址 系统环境: Windows 7 64bit Excel 2 ...

  6. 基于ADO的远程Oracle连接

    最近在一个通过MFC做一个界面,通过这个界面可以对布置在另一台服务器上的数据库MySQL.SQl Server.Oracle进行增删创建表的操作.其中我通过ADO很快就完成了对MySQL和SQL Se ...

  7. 【Oracle连接字符串】【Oracle Net Manager 服务命名配置】【PL/SQL 登陆数据库】

    连接数据库的几个重要参数: 1. 登陆用户名:user: 2. 登录密码:password: 3. 存放数据库的服务器地址(server_ip)和端口(server_port): 4. 数据库名(db ...

  8. Oracle数据库字符串连接方法

    转至:http://database.51cto.com/art/201011/232267.htm 和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLSe ...

  9. Oracle中字符串连接的实现方法

    1.和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样. 例如: SELECT '工号为'||FNumber||'的员工姓名为 ...

随机推荐

  1. Gitlab配置阿里邮件通知

    1. 在/etc/gitlab/gitlab.rb 中添加如下内容 $ vi /etc/gitlab/gitlab.rb gitlab_rails['smtp_enable'] = true  git ...

  2. C#使用Font Awesome字体

    这个类是一个开源类,我做了一些功能优化1.如果没有安装Font Awesome字体,可能需要直接去exe路径下使用对应名称字体.2.可以直接返回\uFxxx类型字体,方便winform按钮使用,不然的 ...

  3. 五、u-boot 启动流程---u-boot.lds

    5.1 u-boot.lds  链接脚本分析 uboot 编译出来的第一个链接脚本就是执行 u-boot.lds 链接脚本,去掉里面无用的和没有定义的,进行分析. /* 配置头文件,自动生成的,包含芯 ...

  4. Bleve代码阅读(二)——Index Mapping

    引言 Bleve是Golang实现的一个全文检索库,类似Lucene之于Java.在这里通过阅读其代码,来学习如何使用及定制检索功能.也是为了通过阅读代码,学习在具体环境下Golang的一些使用方式. ...

  5. pandas数据表

    安装  pip3 install pandas s=pd.Series([1,3,6,90,44,1])   #创建序列[用列表创建].数据源的维度必须是一维 #data  指定数据源 print(s ...

  6. 堆叠窗口QStackedWidget

    经常将QStackedWidget和QListWidget或者QListView搭配使用 import sys from PyQt5.QtWidgets import QApplication, QW ...

  7. Python杀死windows进程

    import os import pandas as pd """ TCP 192.168.1.155:63758 129.211.126.69:4730 ESTABLI ...

  8. python - json/pickle

    # import json #将数据类型转换成字符串 # data = {"a":"123"} # a = json.dumps(data) # print(a ...

  9. linux 命令格式

    1.命令  选项   参数 选项——短选项: - 多个选项可以合在一起书写 ——长选项:-- 选项是一个word 参数:命令的作用对象   ls -la  /etc   /opt 2.su  swit ...

  10. Ubuntu/Debian 8 安装 Intel realsense 摄像头驱动

    ## Make Ubuntu/Debian Up-to-date1. sudo apt-get update && sudo apt-get upgrade && su ...