c# for Oracle -Oracle.ManagedDataAccess

因为微软不再为Oracle 提供数据连接支持,包括DB2、MySql 等也是如此,一次需要厂家自己封装数据库连接和处理组件,目前Oracle为C#提供的连接组件
OracleDataAccess 进行介绍和说明:

一、组件介绍

Oracle.ManagedDataAccess.dll

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

其中包含2个动态库:
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 @   丹心石  阅读(904)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示