C# 连接Oracle 的几种方法

一、组件介绍

Oracle.ManagedDataAccess.dll

Oracle 官方的托管数据库访问组件,单DLL,即 Oracle.ManagedDataAccess.dll,不安装Oracle客户端,不区分32/64位,直接引用即可。

  • 其中包含2个动态库:

  1. Oracle.ManagedDataAccess.dll>Oracle.ManagedDataAccess.dll 为数据库连接和处理组件,其中包括OracleConnection、OracleCommand、OracleDataAdapter 等常用类 Oracle.ManagedDataAccess.EntityFramework.dll 就不用说了,自然是为EF框架,即实体数据模型提供支持
以上两个动态库可用通过官网下载或者用Nuget中直接下载使用。

二、配置文件定义说明

方法一、无配置文件情况,直接连接DB

实例代码:

string oracleConnStr="Data Source=localhost:1521/orcl;User Id=t1;Password=***;pooling=true";
using(OracleConnection conn=new OracleConnection(oracleConnStr)){
  try{
     conn.Open();
     MessageBox.Show("Connect Successful!");
  }caption(Exception ex)
  {
     MessageBox.Show(ex.Message);

  }
}

连接字符串没有特别之处,Data Source=数据源 User Id=用户名 Password=密码 需要注意的是数据源 localhost:1521/orcl pooling=true 是否使用连接池,前面localhost:1521 是服务器和监听端口,后面跟的是 "/",像 Delphi 中 ODAC 是 Server=localhost:1521:orcl
两则略有区别。

2、使用配置文件方式

(1)使用tnsnames.ora文件,此文件需放置在应用程序同目录:(说明:该文件未在在 你的盘符:\Oracel\product\11.2.0\dbhome_1\NETWORK\ADMIN 下)

 tnsnames.ora 文件内容如下:
  orcl=
       (Description=
        (Address=(Protocl=tcp)(host=localhost)(port=1521)
        (connect_data=
          (Server=Dedicated)
          (Service_name=orcl)   
        )
          
        ))

(2)使用app.config或web.config配置文件定义别名(无tnsnames.ora文件的情况下)

<oracle.managedaccess.client>
	<version number="*">
		<dataSources>
			<dataSource alias="orcl" descriptor="(Description=(Address=(Protocl=tcp)(host=localhost)(port=1521)(connect_data=                                    (Server=Dedicated)(Service_name=orcl))))">
                         </dataSource>
		</dataSources>
	</version>
</oracle.managedaccess.client>

(3)使用TNS_ADMIN目录:
<oracle.managedaccess.client>
	<version number="*">
		<settings>
	       <setting name="TNS_ADMIN" value="F:\Oracel\product\11.2.0\dbhome_1\NETWORK\ADMIN"
        </settings>
	</version>
</oracle.managedaccess.client>
posted @   丹心石  阅读(3225)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2020-07-11 Linq to XML
点击右上角即可分享
微信分享提示