在进行以下连接数据库之前,请先在本地安装好Oracle Client,同时本次测试System.Data的版本为:2.0.0.0。

在安装Oracle Client上请注意,如果OS是3-BIT请安装32-BIT的Oracle Client,但OS是64-BIT,需要根据实际情况安装,如果你的APP是按32-BIT运行的,则需要安装32-BIT客户端,如果是按64位运行的,则安装64位客户端,而不是OS是64-BIT的,就要安装64-BIT的ORACLE客户端。

 

本次测试会在32-BIT 和64-BIT 上同时测试,32-BIT Oracle10G。

1.ODBC

1.1   首先需要在控制面板->管理工具->数据源(odbc)。

1.2  using System.Data.Odbc;

1.3  连接数据库

OdbcConnection conn = new OdbcConnection(DSN=XXX;UID=XXX;Pwd=XXX;);
         conn.Open();              
         conn.Close();

32-BIT 和64-BIT 都OK。

2.OleDb(OraOLEDB.Oracle安装ODAC101040)

      2.1  OleDB连接驱动有MSDAORA和OraOLEDB.Oracle,他们分别由微软和Oracle提供。使用OraOLEDB.Oracle驱动,需要安装Oracle Data Provider for OLE DB 。在32位机器上两者都可以,在64位机器上,使用“MSDAORA”会出现“未在本地计算机上注册“MSDAORA.1”提供程序”的问题,OraOLEDB.Oracle一切正常。

2.2 连接数据库

//using System.Data.OleDb;

OleDbConnection conn = new OleDbConnection("Provider=MSDAORA.1;User ID=XXX;password=XXX;Data Source=XXX;Persist Security Info=False");  Provider需要根据实际情况修改
            conn.Open();               
            conn.Close();

3.OracleClient(ODAC121010Beta2_32bit支持oraclient)

       3.1     //using System.Data.OracleClient;

       3.2     连接数据库

OracleConnection conn = new OracleConnection(“data source=XXX;user=XXX;password=XXX;”);
             conn.Open();
             conn.Close();

32-BIT 和64-BIT 都OK。

4.OracleDataAccess

4.1  //Using Oracle.DataAccess.Client 需要安装 Oracle Data Providerfor .NET Framework 2

4.2  连接数据库

Oracle.DataAccess.Client.OracleConnection conn = new Oracle.DataAccess.Client.OracleConnection("Data Source=yellow;user Id=Knemes;Password=oracle");
        conn.Open();                
        conn.Close();

32-BIT 和64-BIT 都OK,但需要注意你的版本。

安装问题

  1. 安装oracle10g的时候,出现此问题,如图:

  2.  

    此问题的解决方案为:

    右键安装程序(setup.exe) -> 属性 -> 兼容性 -> 以兼容模式运行这个程序 windows xp( service pack 3)然后使用管理员身份运行程序。如图:

    问题解决。

  3.  

    请注意兼容性选项中一定要选择windowsXP(service pack 3)不要选择win7,否则错误无法解决。

C#连接数据库的四种方法的更多相关文章

  1. C#连接数据库的四种方法(转)

    C#连接数据库的四种方法 在进行以下连接数据库之前,请先在本地安装好Oracle Client,同时本次测试System.Data的版本为:2.0.0.0. 在安装Oracle Client上请注意, ...

  2. C#连接Oracle数据库的四种方法

    C#连接数据库的四种方法 在进行以下连接数据库之前,请先在本地安装好Oracle Client,同时本次测试System.Data的版本为:2.0.0.0. 在安装Oracle Client上请注意, ...

  3. 两个变量交换的四种方法(Java)

    对于两种变量的交换,我发现四种方法,下面我用Java来演示一下. 1.利用第三个变量交换数值,简单的方法. (代码演示一下) class TestEV //创建一个类 { public static ...

  4. 织梦DedeCMS模板防盗的四种方法

    织梦(DedeCMS)模板也是一种财富,不想自己辛辛苦苦做的模板被盗用,在互联网上出现一些和自己一模一样的网站,就需要做好模板防盗.本文是No牛收集整理自网络,不过网上的版本都没有提供 Nginx 3 ...

  5. 让一个图片在div中居中(四种方法)

    第一种方法: <div class="title"> <div class="flag"></div> <div cl ...

  6. 运行jar应用程序引用其他jar包的四种方法

    转载地址:http://www.iteye.com/topic/332580 大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个ja ...

  7. java中定时器的四种方法

    package com.lid; import java.util.Calendar; import java.util.Date; import java.util.Timer; import ja ...

  8. Angular--页面间切换及传值的四种方法

    1. 基于ui-router的页面跳转传参(1) 在AngularJS的app.js中用ui-router定义路由,比如现在有两个页面,一个页面(producers.html)放置了多个produce ...

  9. MYSQL获取自增ID的四种方法

    MYSQL获取自增ID的四种方法 1. select max(id) from tablename 2.SELECT LAST_INSERT_ID() 函数 LAST_INSERT_ID 是与tabl ...

随机推荐

  1. JDK源码解读之toUnsignedString

    我们知道,所有整数都是通过二进制编码的形式存储在内存中的.比如32位的整数,最高位是符号位,0代表正数,1代表负数. 那么怎么才能够将整数的二进制编码形式打印出来呢?Integer类提供了一个公有静态 ...

  2. 第七课第四节,T语言流程语句(版本5.0)

    break语句 通常用在循环.遍历语句中.当跳出(break)语句用于循环语句中时,可使程序终止循环而执行循环后面的语句, 通常跳出 语句总是与如果语句联在一起.即满足条件时便跳出循环.可以说:跳出语 ...

  3. ios/iphone手机请求微信用户头像错位BUG及解决方法

    转:http://www.jslover.com/code/527.html ios/iphone手机请求微信用户头像错位BUG及解决方法 发布时间:2014-12-01 16:37:01 评论数:0 ...

  4. 递归输出文件夹下的所有文件的名称(转自 MSDN)

    问题:如何输出给定文件夹目录下面的所有文件的名称? C#代码: using System; using System.IO; namespace MyTest { public class Progr ...

  5. JTAG和SWD连接关系图

    经实际测试 SWD最少接线方法: 1.VTref与Vsupply短接 2.JLINK的SWDIO与目标板SWDIO相连 3.JLINK的SWCLK与目标板SWCLK相连 4.JLINK任意一个GND与 ...

  6. ios7 indexPathForCell 的坑(真是一个大大的坑)

    笔者在编写APP 有一个功能点击cell上一个button,修改cell的在tableview中的位置 在ios8上没有问题. 在ios7上总是崩溃 以下是崩溃后提示: Terminating app ...

  7. Java事务处理全解析(六)—— 使用动态代理(Dynamic Proxy)完成事务

    在本系列的上一篇文章中,我们讲到了使用Template模式进行事务管理,这固然是一种很好的方法,但是不那么完美的地方在于我们依然需要在service层中编写和事务处理相关的代码,即我们需要在servi ...

  8. eclipse 工程默认编码修改 JSP编码修改

    1. Window->Preferences->General->Workspace->Text file encoding 将其改为UFT-8  新建的文件即为UTF-8编码 ...

  9. EXT学习之——Ext两个js之间的传参

    A  的js访问 B的js,并将A选择的guid的行传到  B的 js进行处理事项 A 的js 的写法var receiverFrom = new xxx.xxx子js方法体名 ({ parentCm ...

  10. 洛谷P3383 【模板】线性筛素数

    P3383 [模板]线性筛素数 256通过 579提交 题目提供者HansBug 标签 难度普及- 提交  讨论  题解 最新讨论 Too many or Too few lines 样例解释有问题 ...