c# 连接oracle

2 篇文章 0 订阅

一、数据库驱动

oracle为c#提供了两种驱动:Oracle.DataAccess.dll与Oracle.ManagedDataAccess.dll

采用Oracle.ManagedDataAccess.dll

Oracle.DataAccess.dll需要使用到数据库客户端的dll。通常情况下本地Oracle客户端是64位,如果项目是32位的,那么就会出现32位和64位不兼容的问题。使用Oracle.ManagedDataAccess.dll,可采用无客户端连接的方式,只需要通过Nuget下载即可。

二、通过字符串配置

列出了部分支持的连接字符串属性:

字符串连接属性描述默认值
Connection Lifetime连接的最短使用寿命(以秒为单位)。0
Connection Timeout等待池中的空闲连接的最短时间(以秒为单位)。15
Context Connection

如果设置为true,则返回隐式数据库连接。仅在.NET存储过程中受支持

false
Data Source连接数据库的属性,如HOST、PORTnull
DBA Privilege权限:SYSDBASYSOPERnull
Max Pool Size池中的最大连接数。100
User IdOracle用户名null
Password指定用户id的密码null
Pooling连接池true

全部支持的字符串连接属性可参考oracle文档:https://docs.oracle.com/database/121/ODPNT/featConnecting.htm#ODPNT164

using System;
using Oracle.ManagedDataAccess.Client;
namespace demo
{
    class Program
    {
        public static void Main(String[] args)
        {
            //连接本地数据库 地址为127.0.0.1:1521 服务名为ORCL
            string config = @"Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = ORCL)));User Id=scott;Password=123456;";
            //连接池
//            var pool = @"Min Pool Size = 10; Connection Lifetime = 100000; Connection Timeout = 60;
//Incr Pool Size=5; Decr Pool Size=2;";
//            config += pool;
            OracleConnection conn = new OracleConnection(config);
            conn.Open();
            Console.WriteLine("---------------连接到数据库---------------");
            conn.Clone();
            Console.WriteLine("---------------关闭数据库连接---------------");
            Console.WriteLine("输入任意键结束");
            Console.ReadKey();
        }
    }

}

 

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值