C#连接oracle连接字符串

/// <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=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.运行示例

时间: 2024-10-05 08:51:45

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

jdbc连接oracle数据库字符串

jdbc连接oracle数据库有两种方式: 连接数据库SID 连接数据库service_name 当连接SID时,字符串如下: url="jdbc:oracle:thin:@192.168.56.100:1521:orcl1" password="xxxx" username"scott" 当连接SERVICE_NAME时,字符串如下: url="jdbc:oracle:thin:@//192.168.56.100:1521/orcl&

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

需求:从一台Oracle数据库获取数据,本以为是很简单的事情,直接将原来的SqlClient换成OracleClient调用,结果远没自己想的简单.要么安装Oracle客户端,要么安装PLSQL.网上这方面搜索后,太多的文章,还要不停的去测试.最后找个引入外部类库的方式.这个DLL其实是Oracle为C#专门提供的,在它的官方也可以下载到(不过找起来很麻烦). 这里我就把这个方案和dll分享给大家. 链接:https://pan.baidu.com/s/17saKNnBVyDvMbt1L8lSf

基于ADO的远程Oracle连接

最近在一个通过MFC做一个界面,通过这个界面可以对布置在另一台服务器上的数据库MySQL.SQl Server.Oracle进行增删创建表的操作.其中我通过ADO很快就完成了对MySQL和SQL Server的控制.但是Oracle的连接就麻烦很多,我完成这个项目的大部分的时间都在研究怎么与Oracle数据库互通. 先声明下我的电脑环境,没有装ORACLE客户端,WIN7_64位操作系统,使用的编译器是VC6.服务器用的是WIN10的系统,Oracle的版本为11.2.0.1.0,我客户端安装了

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

连接数据库的几个重要参数: 1. 登陆用户名:user: 2. 登录密码:password: 3. 存放数据库的服务器地址(server_ip)和端口(server_port): 4. 数据库名(db_name): 一.Oracle连接字符串 我们如果要连接db_name这个数据,除了用户名密码以外,还需要输入类似“server_ip:server_port/db_name”这样一个连接字符串. <add key="ConnectionString" value="Da

asp.net与oracle连接字符串

asp.net与oracle连接字符串 connectionString="Password=czh;User ID=czh;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.168.211)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=skydream)));" HOST:服务器IP或者服务器名称 SERVICE

问题:oracle LISTAGG 连接字符串;结果:Oracle 连接字符串的方法

Oracle 连接字符串的方法 方法一:wmsys.wm_concat(column) 介绍:其函数在Oracle 10g推出,在10g版本中,返回字符串类型,在11g版本中返回clob类型.括号里面的参数是列,而且可以是多个列的集合,也就是说在括号里面可以自由地用‘||’合并字符串.如下面的例子: Select u_id, wmsys.wm_concat(goods || '(' || num || '斤)' ) goods_sum   from shopping   group by u_i

Oracle数据库字符串连接方法

转至:http://database.51cto.com/art/201011/232267.htm 和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样. 比如执行下面的SQL语句: SELECT '工号为'||FNumber||'的员工姓名为'||FName FROM T_Employee WHERE FName IS NOT NULL 除了“||”,Oracle还支持使用CONCAT()函数进行字符串拼接,比如执行下面

windows下安装oracle,sqlplus连接启动oracle(oracle 主机字符串输入是什么)

1.oracle安装 参考http://wenku.baidu.com/view/d01ffd43336c1eb91a375d68.html,这里不再赘述 2.命令行sqlplus连接oracle    (1)检查监听状态 C:\>lsnrctl status LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 28-6月 -2005 11:01:01 Copyright (c) 1991, 2002, Oracle Cor

oracle 连接字符串备份

Oracle XE 标准连接 Oracle XE(或者"Oracle Database 10g Express Edition")是一个简单免费发布的版本. 以下是语法格式: Driver=(Oracle in XEClient);dbq=111.21.31.99:1521/XE;Uid=myUsername;Pwd=myPassword; ODBC 新版本连接方式 以下是语法格式: Driver={Microsoft ODBC for Oracle};Server=myServerA