1.ODAC 下载方法和安装和教程

在window 应用程序中访问,访问oracle就可以不用安装oracle client了,直接设定tns name 可访问数据库。同时,我又编定了一个操作oracel数据库帮助类,供大家参考

1.1. 下载路径

1.1.1 32位下载路径

下载网址:https://www.oracle.com/database/technologies/odac-nuget-downloads.html

1.1.2  64位下载路径

下载网址:https://www.oracle.com/database/technologies/odac-downloads.html

1.2 安装教程

1.2.1 :直接查看压缩包中 readme.htm安装方法

1.2.1. 或者按如下网络上的教程进行安装

https://www.cnblogs.com/wayne-ivan/p/4691091.html

1.2.3  Oracle官网查询相关ODC的资料,列出相关资源和文件


注:1. 安装时必须有管理员权限;2.在安装过程中如有什么错误,请安装路径下查看log档,进行异常处理。


2. 在应用程序中引用

2.1   配件文件中使用如下所示 Provider=OraOLEDB.Oracle 的驱动来读取数据库

<add key="DatabaseP1" value="Provider=OraOLEDB.Oracle;Data Source=DB1;User ID=DBA;Password=DBA;Persist Security Info=True"/>

2.2  程序中引用命名空间    using Oracle.DataAccess;

2.3  访问数据实例

可发根据设定Provider来设定相应数据库的驱动,可以实现连接MY SQL ,MS SQL,ORACEL等数据库操作

string connString = "Provider=OraOLEDB.Oracle.1;User ID=IFSAPP;Password=IFSAPP;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = RACE)))";
OleDbConnection conn = new OleDbConnection(connString);
try
{conn.Open();MessageBox.Show(conn.State.ToString());
}
catch (Exception ex)
{ShowErrorMessage(ex.Message.ToString());
}
finally
{conn.Close();
}

2.4 操作数据库帮助类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Configuration;
using System.Data.OleDb;/// <summary>/// SqlDbHelper ,以System.Data.OleDb類來操作數據庫/// </summary>public class OleDbHelper{public string strMsg = "";public OleDbConnection conn;/// <summary>/// SqlDbHelper ,以System.Data.OleDb類來操作數據庫/// </summary>public OleDbHelper(){//// TODO: 在此加入建構函式的程式碼////this.GetConn();}public OleDbHelper(String sDbConnString){this.GetConn(sDbConnString);}/// <summary>/// 是否打开数据库连接/// </summary>/// <param name="IsOpenConn"></param>public OleDbHelper(Boolean IsOpenConn){//// TODO: 在此加入建構函式的程式碼//if (IsOpenConn){this.GetConn();}}public string Message{get{return strMsg;}set{strMsg = value;}}public OleDbConnection Connection{set { conn = value; }get { return conn; }}/// <summary>/// Get DB conncection string from web.config file./// By OleDbConnString /// </summary>/// <returns></returns>public string GetConnectString(){string strConn = "";try{//Get DB conncection string from web.config file.strConn = "";}catch (Exception ex){this.Message = ex.Message;}return strConn;}/// <summary>/// 取得Sqlcle数据库存连接,需在web.config中的appSetting处设定连接字符串 /// MsAccessDbConnString的DB连接字符串 /// </summary>/// <returns></returns>public OleDbConnection GetConn(){string strConn;string strDataSource;string strDataFile;OleDbConnection Conn = new OleDbConnection();try{//Get DB conncection string from web.config file.strDataFile =(System.Environment.CurrentDirectory+@"/db/data.mdb");strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strDataFile;Conn.ConnectionString = strConn;Conn.Open();//增加属性this.Connection = Conn;return Conn;}catch (Exception ex){this.Message = ex.Message + ex.StackTrace + ex.Source;return null;}}/// <summary>/// 取得Access数据库存连接,/// 需在web.config中的appSetting处设定连接字符串sSqlDbConnString Key的值/// </summary>/// <param name="sSqlDbConnString">在web.config中的appSetting处设定连接字符串名稱</param>/// <returns></returns>public OleDbConnection GetConn(string sSqlDbConnString){string strConn;string strDataFile = "";string strDataSource = "";OleDbConnection Conn = new OleDbConnection();try{//Get DB conncection string from web.config file.Conn.ConnectionString = sSqlDbConnString;Conn.Open();return Conn;}catch (Exception ex){this.Message = ex.Message + ex.Source + ex.StackTrace;return null;}}/// <summary>/// 取得Sqlcle数据库存连接/// </summary>/// <param name="sTNSName">连接SqlCLE的tnsname</param>/// <param name="sUserId">用户名</param>/// <param name="sPassword">密码</param>/// <returns></returns>public OleDbConnection GetConn(string sServerName, string sDataBaseName, string sUserId, string sPassword){string strConn;try{OleDbConnection Conn = new OleDbConnection();strConn = "Provider=SQLOLEDB;server=" + sServerName + ";database=" + sDataBaseName + ";uid=" + sUserId + ";pwd=" + sPassword;Conn.ConnectionString = strConn;Conn.Open();return Conn;}catch{return null;}}/// <summary>/// 打开数据库,在WebConfig中对应的appSettings Key值/// </summary>/// <param name="sSqlDbConnString"></param>/// <returns></returns>public Boolean OpenConnKey(string sSqlDbConnString){string strConn;try{OleDbConnection Conn = new OleDbConnection();//Get DB conncection string from web.config file.strConn = "";Conn.ConnectionString = strConn;Conn.Open();this.Connection = Conn;return true;}catch (Exception ex){this.Message = ex.Message;return false;}}/// <summary>/// 打开连接字符串/// </summary>/// <param name="sSqlDbConnString"></param>/// <returns></returns>public Boolean OpenConnString(string sDbConnString){OleDbConnection Conn = new OleDbConnection();try{Conn.ConnectionString = sDbConnString;Conn.Open();this.Connection = Conn;return true;}catch (Exception ex){this.Message = ex.Message;return false;}}/// <summary>/// 取得数据集/// </summary>/// <param name="strSQL"></param>/// <param name="Conn"></param>/// <returns></returns>public DataSet GetDataSet(string strSQL, OleDbConnection Conn){OleDbDataAdapter Adpter;DataSet ds;try{//strSQL = "select * from t_PublicInfo ";Adpter = new OleDbDataAdapter(strSQL, Conn);ds = new DataSet();Adpter.Fill(ds, "table1");}catch{return null;}return ds;}/// <summary>/// 得到数据集,Webconfig add设定的的Key值/// </summary>/// <param name="strSQL"></param>/// <param name="sConnString">Webconfig add设定的的Key值</param>/// <returns></returns>public DataSet GetDataSet(string strSQL, string sConnString){OleDbDataAdapter Adpter;DataSet ds;OleDbConnection conn = new OleDbConnection();try{conn = this.GetConn(sConnString);//strSQL = "select * from t_PublicInfo ";Adpter = new OleDbDataAdapter(strSQL, conn);ds = new DataSet();Adpter.Fill(ds, "table1");}catch (Exception ex){this.Message = ex.Message;return null;}finally{conn.Close();conn.Dispose();}return ds;}/// <summary>/// 取得数据集,默認連接的數據庫存是在web.config中的appSetting处设定连接字符串SqlDbConnString/// </summary>/// <param name="strSQL"></param>/// <returns></returns>public DataSet GetDataSet(string strSQL){//string strSQL;OleDbDataAdapter Adpter;DataSet ds;OleDbConnection Conn = new OleDbConnection();Conn = GetConn();if (Conn == null){return null;}try{Adpter = new OleDbDataAdapter(strSQL, Conn);ds = new DataSet();Adpter.Fill(ds, "table1");}catch (Exception ex){this.Message = ex.Message;return null;}finally{conn.Close();}return ds;}/// <summary>/// 取得DataReader,默認連接的數據庫存是在web.config中的appSetting处设定连接字符串SqlDbConnString/// </summary>/// <param name="strSQL"></param>/// <returns></returns>public OleDbDataReader GetReader(string strSQL){//OleDbDataAdapter Adpter;OleDbDataReader oReader;OleDbConnection Conn = new OleDbConnection();OleDbCommand oComm = new OleDbCommand();Conn = GetConn();oComm.Connection = Conn;oComm.CommandText = strSQL;try{oReader = oComm.ExecuteReader();}catch{return null;}return oReader;}/// <summary>/// 取得DataReader/// </summary>/// <param name="strSQL"></param>/// <param name="oConn"></param>/// <returns></returns>public OleDbDataReader GetReader(string strSQL, OleDbConnection oConn){//OleDbDataAdapter Adpter;OleDbDataReader oReader;OleDbCommand oComm = new OleDbCommand();oComm.Connection = oConn;oComm.CommandText = strSQL;try{oReader = oComm.ExecuteReader();}catch{return null;}return oReader;}/// <summary>/// 得到一张表,根据SQL语句,如果沒有找到資料,連接正確,行個數為0,如果連接異常的,返回為空/// </summary>/// <param name="strSql"></param>/// <returns></returns>public DataTable GetDataTable(string strSql){OleDbDataAdapter Adpter;DataSet ds;DataTable dtTable = new DataTable();OleDbConnection Conn = new OleDbConnection();Conn = this.GetConn();if (Conn == null){return dtTable;}try{Adpter = new OleDbDataAdapter(strSql, Conn);ds = new DataSet();Adpter.Fill(ds, "table1");dtTable = ds.Tables[0];this.Message = "";}catch (Exception ex){this.Message = ex.Message + ex.StackTrace;}finally{conn.Close();}return dtTable;}public DataTable GetDataTable(string strSql, string sConnStringKey){OleDbDataAdapter Adpter;DataSet ds;DataTable dtTable = new DataTable();OleDbConnection myConn = new OleDbConnection();myConn = this.GetConn(sConnStringKey);if (myConn == null){return dtTable;}try{Adpter = new OleDbDataAdapter(strSql, myConn);ds = new DataSet();Adpter.Fill(ds, "table1");dtTable = ds.Tables[0];this.Message = "";}catch (Exception ex){this.Message = ex.Message + ex.StackTrace;}finally{myConn.Close();}return dtTable;}/// <summary>/// 执行 sql command/// </summary>/// <param name="strSQL"></param>/// <param name="Conn"></param>/// <returns></returns>public string ExecuteNonQuery(string strSQL, OleDbConnection Conn){OleDbCommand Cmd = new OleDbCommand();Cmd.CommandType = CommandType.Text;Cmd.CommandText = strSQL;Cmd.Connection = Conn;Cmd.Transaction = Conn.BeginTransaction();try{Cmd.ExecuteNonQuery();Cmd.Transaction.Commit();return "";}catch (Exception Err){Cmd.Transaction.Rollback();return Err.Message;}finally{Cmd.Dispose();}}/// <summary>/// 执行 sql command,默認連接的數據庫存是在web.config中的appSetting处设定连接字符串SqlDbConnString/// </summary>/// <param name="strSQL"></param>/// <returns></returns>public Boolean ExecuteNonQuery(string strSQL){OleDbConnection Conn = new OleDbConnection();Conn = GetConn();OleDbCommand Cmd = new OleDbCommand();Cmd.CommandType = CommandType.Text;Cmd.CommandText = strSQL;Cmd.Connection = Conn;Cmd.Transaction = Conn.BeginTransaction();try{Cmd.ExecuteNonQuery();Cmd.Transaction.Commit();return true;}catch (Exception Err){Cmd.Transaction.Rollback();this.Message = Err.Message + ";" + strSQL;return false;}finally{Cmd.Dispose();conn.Close();}}public Boolean ExecuteNonQuery(string strSQL, string sConnStringKey){OleDbConnection myConn = new OleDbConnection();myConn = GetConn(sConnStringKey);OleDbCommand myCommand = new OleDbCommand();myCommand.CommandType = CommandType.Text;myCommand.CommandText = strSQL;myCommand.Connection = myConn;myCommand.Transaction = myConn.BeginTransaction();try{myCommand.ExecuteNonQuery();myCommand.Transaction.Commit();return true;}catch (Exception Err){myCommand.Transaction.Rollback();this.Message = Err.Message + ";" + strSQL;return false;}finally{myCommand.Dispose();myConn.Close();}}/// <summary>/// 得到一张表,根据SQL语句,如果沒有找到資料,連接正確,行個數為0,如果連接異常的,返回為空/// </summary>/// <param name="strSql"></param>/// <returns></returns>public Boolean GetExistsData(string strSql){Boolean bResult = false;OleDbDataAdapter Adpter;DataSet ds;DataTable dtTable = new DataTable();OleDbConnection Conn = new OleDbConnection();Conn = this.GetConn();if (Conn == null){return false;}try{Adpter = new OleDbDataAdapter(strSql, Conn);ds = new DataSet();Adpter.Fill(ds, "table1");dtTable = ds.Tables[0];if (dtTable.Rows.Count > 0){bResult = true;}}catch (Exception ex){this.Message = ex.Message + ex.StackTrace;bResult = false;}return bResult;}public Boolean GetExistsData(string strSql, string sConnStringKey){Boolean bResult = false;OleDbDataAdapter Adpter;DataSet ds;DataTable dtTable = new DataTable();OleDbConnection Conn = new OleDbConnection();//Conn = this.GetConn();Conn = this.GetConn(sConnStringKey);if (Conn == null){return false;}try{Adpter = new OleDbDataAdapter(strSql, Conn);ds = new DataSet();Adpter.Fill(ds, "table1");dtTable = ds.Tables[0];if (dtTable.Rows.Count > 0){bResult = true;}}catch (Exception ex){this.Message = ex.Message + ex.StackTrace;bResult = false;}return bResult;}public void Close(){if (this.Connection.State == ConnectionState.Open){this.Connection.Close();}}}

Oracle数据访问组件ODAC(Oracle Data Access Components)安装和使用相关推荐

  1. bde怎么配置oracle数据库,Oracle数据访问组件ODAC教程:如何从BDE和DOA迁移

    ODAC(Oracle Data Access Components )是一个Oracle数据访问组件.ODAC可以为Oracle提供本地连接(Delphi, Delphi for .NET, C++ ...

  2. WIN7系统 64位出现 Net Framework 数据提供程序要求 Microsoft Data Access Components(MDAC)....

    WIN7系统 64位出现  Net Framework 数据提供程序要求 Microsoft Data Access Components(MDAC).请安装 Microsoft Data Acces ...

  3. .Net Framework OleDb 数据提供程序要求 Microsoft Data Access Components(MDAC) 2.6 或更高版本。发现当前安装的版本是 2.50.4403.

    问题:  .Net Framework OleDb 数据提供程序要求 Microsoft Data Access Components(MDAC) 2.6 或更高版本.发现当前安装的版本是 2.50. ...

  4. .Net Framework OleDb 数据提供程序要求 Microsoft Data Access Components(MDAC) 2.6 或更高版本

    (1)方法一       修改注册表 HKEY_LOCAL_MACHINE\Software\Microsoft\DataAccess下所有键值为2.50.4403.12为2.71.9040.2 我测 ...

  5. 转:Firebird 数据访问组件 (Delphi)

    转自:http://www.faceker.com/200809/firebird-data-access-components.html 在 Delphi 下可访问 Firebird 数据库的组件非 ...

  6. sqlsugar mysql连接字符串_通用数据访问组件UniDAC最新版本v8.2.4,支持Lazarus中的macOS 64位...

    UniDAC(Universal Data Access Components)是一款通用数据库访问组件,提供了多个数据库的直接访问,如针对Windows的Delphi, C++Builder, La ...

  7. Delphi10.4使用FireDAC数据访问组件开发数据库软件学习开发教程(1)

    数据库访问是Delphi / C ++ Builder的专长.最新版本的Delphi / C ++ Builder支持使用称为FireDAC的通用数据库访问组件访问各种数据源.因此,在此博客中,我将向 ...

  8. 测试 ClownFish、CYQ、Entity Framework、Moon、MySoft、NHibernate、PDF、XCode数据访问组件性能...

    下期预告: 由于很多园友反馈,有的组件不应该缺席.测试复杂度不够.测试还缺乏一定的公平. 因此考虑在下一个版本中,确保在更加公平的前提下进行更高复杂度的测试 . 同时将分为2组测试,纯SQL组件及纯O ...

  9. 微软提供的数据访问组件SqlHelper

    数据访问组件是一组通用的访问数据库的代码,在所有项目中都可以用,一般不需要修改.本节使用的是Microsoft提供的数据访问助手,其封装很严密,且应用简单. 首先要先添加一个类,并命名为SqlHelp ...

  10. idata 数据访问组件库 (2021版)

    idata数据访问组件库(RX11)版本:  2022-09-20 下载: idata 数据组件库 for RAD Studio RX10.3.x (260) 发布于:2020-02-20    使用 ...

最新文章

  1. applicationContext.xml 配置文件的存放位置
  2. SQL 异常处理 Begin try end try begin catch end catch--转
  3. CentOS 6.2 Eclipse CDT 开发环境搭建
  4. pyhton的切片操作
  5. 解决使用七牛CDN导致AJAX评论报错{“ERROR”:”GET FROM IMAGE SOURCE FAILED: E405″}
  6. [Inferior 1 (process 17260) exited normally] Debugger finished with status 0
  7. 脚本自动ping检测网络情况
  8. 三菱FX5U程序,双FX5U80MT主从站控制,普洛菲斯触摸屏程序,搭配三菱伺服,松下变频器控制运动控制数轴运动控制
  9. python二级考点
  10. 在php中将Unicode字符转成中文
  11. [转载]历上最强的音乐播放器(jetAudio-8.0.5.320-Plus-VX
  12. java(Vue+SpringBoot)实现头像上传功能
  13. windows server 2012 下载中文语言包
  14. 别怕,遇到Map源码面试题这样答就对了
  15. 林大OJ习题 2020年1月5日
  16. RT-Thread改变打印串口(在BSP的基础上添加其他功能)
  17. 关于Houdini中体积SDF,fog,volume,vdb的一些理解和区别
  18. 关于静态文本框透明度的问题
  19. 关于strcmp与strcpy函数的相关用法
  20. 實戰案例:微信公眾號篇 (1) 前言

热门文章

  1. SILVACO 学习笔记第一章
  2. 2022年北京航空航天大学计算机考研复试分数线
  3. CSS——下拉框的制作(以小米商城为例)
  4. 2010考研数学二第(20)题——多元积分学:二重积分计算
  5. 【数据结构】EOJ 1006. 线性链表的插入与删除
  6. 在Mac环境下查看附近路由器的MAC地址
  7. Chrome最新版下载地址
  8. 软考信息安全工程师考试大纲第二版
  9. 将CSDN文章下载为markdown文档
  10. 2015火车票抢票,放票时间,几点放票