C# 多种方式连接Oracle。

废话不多说直接正题:

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

方式一:利用OleDb连接Oracle。

 1    #region  使用OleDb方式
 2             Console.WriteLine("OleDb方式");
 3             OleDbConnection oledbConnection = new OleDbConnection("Provider=OraOLEDB.Oracle; Data Source=MLDN; User Id=lisi; Password=lisi;");
 4             OleDbCommand oledbCommand = new OleDbCommand();
 5             oledbCommand.CommandText = "select * from USERS";
 6             oledbCommand.CommandType = CommandType.Text;
 7             oledbCommand.Connection = oledbConnection;
 8             oledbConnection.Open();
 9             var oledbReader = oledbCommand.ExecuteReader();
10             while (oledbReader.Read())
11             {
12                 Console.WriteLine("姓名:"+oledbReader[1]);
13             }
14             oledbConnection.Close();
15   #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[1]);
            }
            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[1]);
         }
            odbcConnection.Close();

#endregion

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

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

 1       #region
 2
 3             Console.WriteLine("System.Data.OracleClient方式");
 4          System.Data.OracleClient.OracleConnection clientConnection = new System.Data.OracleClient.OracleConnection();
 5          clientConnection.ConnectionString = " Data Source=MLDN; User Id=lisi; Password=lisi;";
 6          System.Data.OracleClient.OracleCommand clientCommand = new System.Data.OracleClient.OracleCommand();
 7
 8          clientCommand.CommandText = "select * from USERS";
 9          clientCommand.Connection = clientConnection;
10          clientCommand.CommandType = CommandType.Text;
11          clientConnection.Open();
12          var clientReader = clientCommand.ExecuteReader();
13          while (clientReader.Read())
14          {
15
16              Console.WriteLine("姓名:" + clientReader[1]);
17          }
18          clientConnection.Close();
19             #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

原文地址:https://www.cnblogs.com/wujiadexingfu/p/8505588.html

时间: 2024-10-18 10:36:06

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

java thin方式连接oracle数据库

本文主要描述通过thin方式连接oracle数据库 1.创建web project ,将D:\oracle\product\10.2.0\db_1\jdbc\lib(oracle安装目录)下的ojdbc14.jar拷贝至项目WEB-INF目录下lib路径中. 2.创建数据库连接文件: ConnectDB.java: package com.gree.db; import java.sql.Connection;import java.sql.DriverManager;import java.s

java通过jdbc方式连接oracle数据库

最基本的Oracle数据库连接代码(只针对Oracle11g): 1.右键项目->构建路径->配置构建路径,选择第三项“库”,然后点击“添加外部Jar”,选择“D:\Oracle\app\oracle\product\11.2.0\server \jdbc\lib\ojdbc6_g.jar”(注:D:\Oracle为数据库的安装路径). 2.以下代码为非常标准的Oracle数据库连接代码示例: /** * 一个非常标准的连接Oracle数据库的示例代码 */ public void testO

Kettle连接Oracle 12c

安装Oracle我用的是Win10 64位,官网下载64位 Oracle 12c,两个文件.解压第一个文件之后安装,但是安装到一半错误,提示缺失文件.后来发现原来两个文件要单独解压,解压后根据目录合并在一起.再次安装,安装到88%卡住不动了.我以为安装又失败了,就关了,但是发现可以用,就这么用吧. 创建用户Oracle数据库分为CDB和PDB,他们之间的关系,想了解可以查相关资料,不在此详述.简单来说CDB是一个数据库容器,PDB是可插拔数据库.默认登陆为CDB,只能创建COMMON用户.COM

pl/sql developer另一种连接oracle的方式

上面数据库框输入: (DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.8.99)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = HTFDS))) ------------------------------下面的供参考理解----------------------------------------------------------------------

连接Oracle的几种方式

如何引用Data.OracleClient.dll 由于从.net 4.0之后,微软将OracleClient.dll从框架里去除了,所以要使用,需要在VS2010里面去把项目的.net框架从.net 4.0 改成3.5,解决方案上->引用->添加引用,然后在.NET下就可以找到System.Data.OracleClient.dll,点击确定,就OK了. 这下总可以用了吧,其实噩耗才开始: 一:通过System.Data.OracleClient(需要安装Oracle客户端并配置tnsnam

sqlplus连接oracle数据库三种方式

方式一:命令提示符下敲入sqlplus,然后键入用户名和口令,测试查询 方式二:命令提示符下 敲入sqlplus 用户名/口令@数据库实例 方式三:命令提示符下敲入sqlplus /nolog,然后连接数据库connect scott/[email protected] sqlplus连接oracle数据库三种方式

JAVA连接Oracle两种方式

以前学习.NET连接数据库时,也是做各种的连接配置.而如今在用到java操纵Oracle时,同样是一些的操作.在此总结一下. 1.JDBC_ODBC连接数据库 此方法需要配置ODBC数据源,本机必须有Oracle数据库 1.配置数据源 打开控制面板--管理工具--数据源 2.接下来在代码中连接即可 //使用jdbc_odbc桥接方式连接,需要配置数据源 public static void main(String [] args){ try{ //1.加载驱动 Class.forName("su

【java项目实战】dom4j解析xml文件,连接Oracle数据库

简介 dom4j是由dom4j.org出品的一个开源XML解析包.这句话太官方,我们还是看一下官方给出的解释.如下图: dom4j是一个易于使用的.开源的,用于解析XML,XPath和XSLT等语言的库.它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP等编程标准. 特点 dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用的特点,同时它也是一个开放源代码的软件.如今你可以看到越来越多的Java软件都在使用dom4j来读写XML,例

Sqlserver 连接oracle和mysql数据库

如果需要mysql和oracle互相转化数据,可以先把mysql数据读到sqlserver的表中,然后从sqlserver 插入到oracle中. 或者相反从oracle读到sqlserver然后从sqlserver到mysql,把sqlserver作为一个中间的桥梁 通过SQL Server操作MySQL的步骤和方法 2011-07-11 17:36:01|  分类: 数据库 |  标签:sql  server  mysql  odbc  |举报|字号 订阅 下载LOFTER客户端 在多种数据