/// <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. toolbar 相关

    1.改变toolbar 返回键和扩展按钮颜色,只需要在style文件中添加这一行即可: 2.toolbar的title是否显示是这样控制的:

  2. webstorm11.0.3连接ftp

    一.工具 webstorm11.0.3 ftp工具:Beyond Compare 3 二.步骤 1.打开项目工程,按照下图中路径,打开ftp配置界面 2.在ftp配置界面 (1)右上角+号新建配置,选 ...

  3. xcode查找当前程序的沙盒

    随意在程序中添加一个断点,当程序命中断点的时候,控制台中会出现一个"lldb" 此时在"lldb"后面添加上  po NSHomeDirectory()  回车 ...

  4. centos7入门

    yum install net-tools 设置IP和掩码 ifconfig eth0 1.1.1.20 netmask 255.255.255.0 设置网关 route add default gw ...

  5. Django开发笔记六

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.登录功能完善 登录成功应该是重定向到首页,而不是转发 ...

  6. 升级版updateOozie.sh

    以前的版本检测当天的Tar包,并只能选择1个Tar包进行更新代码,当天生成多个版本时需修改脚本中配置,并不方便. 升级版兼容目录下存在一个或者多个Tar包的情况: 1.单个Tar包时,直接解压缩到当前 ...

  7. windows系统中hosts文件位置

    C:\Windows\System32\drivers\etc\hosts 10.0.0.213 mr1.bic.zte.com 10.0.0.2 mr2.bic.zte.com 10.0.0.102 ...

  8. 【Connection Events】【BLE】【原创】

    Connection Events  本人在TI官网的学习笔记,现整理如下   两台BLE设备建立连接后,所有的通信事件都是通过Connection Events中发生的           上图为两 ...

  9. CentOS如何设置终端显示字符界面区域的大小

    红框内的文字本应该在上一行后方,调了stty也不行, stty size的值变化,但显示还是没变化 后来参考http://www.jb51.net/os/RedHat/522217.html 修改 / ...

  10. linux系统下安装redis及配置

    下载Redis redis-3.2.11.tar.gz 解压编译 tar xzf redis-3.2.11.tar.gz cd redis-3.2.11 make 编译完成之后,可以看到解压文件red ...