废话不多说直接正题:

首先我们先在Oracle数据库下建了一个用户叫做lisi,密码为lisi,在这个用户下建立一张表叫做“USERS”,在这个表下新增三个数据。

方式一:利用OleDb连接Oracle。

    #region  使用OleDb方式
Console.WriteLine("OleDb方式");
OleDbConnection oledbConnection = new OleDbConnection("Provider=OraOLEDB.Oracle; Data Source=MLDN; User Id=lisi; Password=lisi;");
OleDbCommand oledbCommand = new OleDbCommand();
oledbCommand.CommandText = "select * from USERS";
oledbCommand.CommandType = CommandType.Text;
oledbCommand.Connection = oledbConnection;
oledbConnection.Open();
var oledbReader = oledbCommand.ExecuteReader();
while (oledbReader.Read())
{
Console.WriteLine("姓名:"+oledbReader[]);
}
oledbConnection.Close();
#endregion

方式二:利用Oracle.ManagedDataAccess.Client方式,在使用前,我们需要先在Nuget中找到Oracle.ManagedDataAccess,然后安装,该方式好处之一是不需要在客户端上安装Oracle客户端,该版本是由Oracle公司开发的,而且微软已经放弃了自己的System.Data.OracleClient方式(下面会有介绍),推荐使用这种方式。

程式码如下:

  #region OracleConnection
//OracleConnection connection = new OracleConnection("Password=lisi;User ID=lisi;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.229.138)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=****)))");没有安装客户端的话,可以使用这种方式
Console.WriteLine("Oracle.ManagedDataAccess.Client方式");
OracleConnection oralceConnection = new OracleConnection("Data Source=MLDN; User Id=lisi; Password=lisi;");
oralceConnection.Open();
OracleCommand oracleCommand = new OracleCommand();
oracleCommand.CommandText = "select * from USERS";
oracleCommand.CommandType = CommandType.Text;
oracleCommand.Connection = oralceConnection;
var oracleReader = oracleCommand.ExecuteReader();
while (oracleReader.Read())
{
Console.WriteLine("姓名:" + oracleReader[]);
}
oralceConnection.Close();
#endregion

方式三:利用odbc方式

        #region odbc

            Console.WriteLine("odbc方式");
OdbcConnection odbcConnection = new OdbcConnection("Driver={Microsoft ODBC for Oracle};Server=MLDN;Uid=lisi;Pwd=lisi;");
odbcConnection.Open();
OdbcCommand odbcCommand = new OdbcCommand();
odbcCommand.CommandText = "select * from USERS";
odbcCommand.CommandType = CommandType.Text;
odbcCommand.Connection = odbcConnection;
var odbcReader= odbcCommand.ExecuteReader(); while (odbcReader.Read())
{
Console.WriteLine("姓名:" + odbcReader[]);
}
odbcConnection.Close(); #endregion

方式四:利用System.Data.OracleClient方式(该方式已过时,不推荐使用)。

虽然已经过时了但是还是可以使用的,代码如下:

       #region

             Console.WriteLine("System.Data.OracleClient方式");
System.Data.OracleClient.OracleConnection clientConnection = new System.Data.OracleClient.OracleConnection();
clientConnection.ConnectionString = " Data Source=MLDN; User Id=lisi; Password=lisi;";
System.Data.OracleClient.OracleCommand clientCommand = new System.Data.OracleClient.OracleCommand(); clientCommand.CommandText = "select * from USERS";
clientCommand.Connection = clientConnection;
clientCommand.CommandType = CommandType.Text;
clientConnection.Open();
var clientReader = clientCommand.ExecuteReader();
while (clientReader.Read())
{ Console.WriteLine("姓名:" + clientReader[]);
}
clientConnection.Close();
#endregion

方式五:使用可以连接Oracle的Entity Framework工具,在使用前需要先安装一个插件包,我的VS是2013的,插件包在如下地址:

http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/odacmsidownloadvs2013-2756823-zhs.html

当安装好了之后,我们可以使用EF去连接Oralce资料库了,连接方式如下:

然后我们在UI画面中拉取我们需要用到的表,注意使用EF的时候是要设置表主键的,所以我们需要设置USERS这张表的ID为主键,否则没有办法拉取到该表对象。

代码如下:

  #region Oracle EF
Console.WriteLine("Oracle EF方式");
Entities db = new Entities();
var users = db.USERS.ToList();
foreach (var item in users)
{
Console.WriteLine("姓名:" + item.NAME);
}
#endregion

执行结果画面:

综上是我目前所知道的连接Oracle的方式,至于还有其他方式,我暂时可能就不太清楚了。

参考文章:

http://blog.csdn.net/zz155666/article/details/53163115

https://www.cnblogs.com/gguozhenqian/p/4262813.html

C# 多种方式连接Oracle。的更多相关文章

  1. Java笔记4:JDBC纯驱动方式连接Oracle

    JDBC纯驱动方式连接Oracle 1 下载Oracle提供的驱动程序包 下载地址: http://www.oracle.com/technetwork/database/enterprise-edi ...

  2. java thin方式连接oracle数据库

    本文主要描述通过thin方式连接oracle数据库 1.创建web project ,将D:\oracle\product\10.2.0\db_1\jdbc\lib(oracle安装目录)下的ojdb ...

  3. vc++用ADO方式连接oracle问题

    今天装了个oracle客户端,准备写个访问远程oracle的程序.用的是vs2010,采用ADO的连接方法连接oracle,结果运行的时候总是报下面的错: 从提示可以看出是没有找到OraOLEDBup ...

  4. win7下VS.NET中通过LinqToSQL连接oracle数据库

    .NetFramework3.5提供了LinqToSQL组件,为我们访问数据库提供了方便.我用的是VS+Oracle开发工具.也想体验一下快捷方便的感觉. 1.连接Oracle数据库 在连接Oracl ...

  5. C++ 连接Oracle

    下面是一个ADO方式连接Oracle的小程序部分代码...... 首先是Oracle的配置.在Oracle的安装路径下找到:Oracle\network\ADMIN\tnsnames.ora文件.配置 ...

  6. atitit.client连接oracle数据库的方式总结

    client连接oracle数据库的方式总结 文件夹 Java程序连接一般使用jar驱动连接.. ... 桌面GUI一般採取c语言驱动oci.dll 直接连接... 间接连接(须要配置tns及其env ...

  7. c# Oracle 远程连接方式 plsql 连接oracle 11g 64位

    1.本地连接字符串:   string connect = "Data Source=orcl;user=XXX;password=XXX;Persist Security Info=Tru ...

  8. 连接Oracle的几种方式

    如何引用Data.OracleClient.dll 由于从.net 4.0之后,微软将OracleClient.dll从框架里去除了,所以要使用,需要在VS2010里面去把项目的.net框架从.net ...

  9. Oracle BEQ方式连接配置

    Oracle BEQ方式连接配置 服务端和客户端在同一台机器上,可以使用BEQ连接,BEQ连接可以理解为进程间直接通信,不需要走网络监听,性能更高. 可以参考MOS:How To Connect Us ...

随机推荐

  1. 跟我一起学习vue2(使用命令行搭建单页应用)[二]

    第一步:运行git命令,全局安装 vue-cli $ cnpm install --global vue-cli 第二步: 创建一个基于 webpack 模板的新项目 $ vue init webpa ...

  2. Microsoft JET Database Engine 错误 '80004005' 未指定错误

    Microsoft JET Database Engine 错误 '80004005'未指定错误 =====解决=======出现这种“未指定错误”时,可以尝试重新注册ASP脚本解释链接库文件在CMD ...

  3. MySQL中使用like查找汉字 Incorrect string value 解决办法

    用Select…like %…%来查找MySQL的text类型字段的一个中文,却发现查出来的是乱的,发现不少人也遇到这样的问题.在中文排序和查找的时候,汉字的结果是错误的. 原因在于MySQL在查找字 ...

  4. springboot集成mybatis-generator时候遇到的问题

    今天在集成mybatis自动生成内容的时候,出现了几个问题,解决了一个小时才搞完,都怪之前没有好好研究研究: 1.mysql-connector-java新驱动带来的问题? 当用比较新的sql驱动的时 ...

  5. jQuery层级选择器

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. 何谓SQL Server参数嗅探

    大家听到"嗅探"这个词应该会觉得跟黑客肯定有关系吧,使用工具嗅探一下参数,然后截获,脱裤o(∩_∩)o . 事实上,我觉得大家太敏感了,其实这篇文章跟数据库安全没有什么关系,实际上 ...

  7. struts下载

    struts下载地址:http://struts.apache.org/download.cgi

  8. 9、Python-文件操作

    打开关闭文件 # 打开一个已经存在的文件,或者创建一个新文件 f = open('test.txt', 'w') # 关闭这个文件 f.close() 访问模式 说明 r 以只读方式打开文件.文件的指 ...

  9. 我的vim插件配置

    set nocompatible " be iMproved, required filetype off " required " set the runtime pa ...

  10. jQuery基础 (一)——样式篇(jQuery选择器)

    一.选择器类型 id选择器 class选择器 元素选择器 层级选择器 全选择器(*选择器) 二.有几种方式可以隐藏一个元素: CSS display的值是none. type="hidden ...