C#连接数据库的四种方法
在进行以下连接数据库之前,请先在本地安装好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,但需要注意你的版本。
安装问题
安装oracle10g的时候,出现此问题,如图:

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

请注意兼容性选项中一定要选择windowsXP(service pack 3)不要选择win7,否则错误无法解决。
C#连接数据库的四种方法的更多相关文章
- C#连接数据库的四种方法(转)
C#连接数据库的四种方法 在进行以下连接数据库之前,请先在本地安装好Oracle Client,同时本次测试System.Data的版本为:2.0.0.0. 在安装Oracle Client上请注意, ...
- C#连接Oracle数据库的四种方法
C#连接数据库的四种方法 在进行以下连接数据库之前,请先在本地安装好Oracle Client,同时本次测试System.Data的版本为:2.0.0.0. 在安装Oracle Client上请注意, ...
- 两个变量交换的四种方法(Java)
对于两种变量的交换,我发现四种方法,下面我用Java来演示一下. 1.利用第三个变量交换数值,简单的方法. (代码演示一下) class TestEV //创建一个类 { public static ...
- 织梦DedeCMS模板防盗的四种方法
织梦(DedeCMS)模板也是一种财富,不想自己辛辛苦苦做的模板被盗用,在互联网上出现一些和自己一模一样的网站,就需要做好模板防盗.本文是No牛收集整理自网络,不过网上的版本都没有提供 Nginx 3 ...
- 让一个图片在div中居中(四种方法)
第一种方法: <div class="title"> <div class="flag"></div> <div cl ...
- 运行jar应用程序引用其他jar包的四种方法
转载地址:http://www.iteye.com/topic/332580 大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个ja ...
- java中定时器的四种方法
package com.lid; import java.util.Calendar; import java.util.Date; import java.util.Timer; import ja ...
- Angular--页面间切换及传值的四种方法
1. 基于ui-router的页面跳转传参(1) 在AngularJS的app.js中用ui-router定义路由,比如现在有两个页面,一个页面(producers.html)放置了多个produce ...
- MYSQL获取自增ID的四种方法
MYSQL获取自增ID的四种方法 1. select max(id) from tablename 2.SELECT LAST_INSERT_ID() 函数 LAST_INSERT_ID 是与tabl ...
随机推荐
- ES6 - promise对象
Promise的设计初衷 我们使用ajax请求数据,得到数据后再对数据进行操作,可是有时候,对得到的数据进行操作的过程中,可能又要用到ajax请求,这时,我们的代码就变成了这样: $.ajax({ s ...
- Android studio 常用插件
常用插件 GsonFormat 该插件的功能是根据JSON数据生成相应的实体类,插件装好后按Alt+S快捷键呼不出GsonFormat的界面,如果你也遇到类似的问题,就去改一下快捷键吧!我将快捷键改成 ...
- poj1458 Common Subsequence ——最长公共子序列
link:http://poj.org/problem?id=1458 最基础的那种 #include <iostream> #include <cstdio> #includ ...
- 转weblogic 10.3新建域
一.安装前准备 1.解决linux中文乱码问题 修改/etc/sysconfig/i18n文件 #LANG="en_US.UTF-8"#SUPPORTED="en_US. ...
- Qt 自定义 滚动条 样式
今天是时候把软件中的进度条给美化美化了,最初的想法就是仿照QQ. 先前的进度条是这样,默认的总是很难受欢迎的:美化之后的是这样,怎么样?稍微好看一点点了吧,最后告诉你实现这个简单的效果在Qt只需要加几 ...
- FFmpeg.exe使用随笔
一.将图片合成为MP4 1.将照片合成为h264 ffmpeg -framerate 12 -i %3d.png -c:v libx264 -pix_fmt yuv420p test.h2642.将h ...
- jquery 如何遍历json
var obj = {"status":1,"bkmsg":"\u6210\u529f","bkdata":[" ...
- SQLLite 学习笔记
1.SQLLite 简介 2.命令行使用 3.常用GUI管理工具
- South - 在 Django 中 Migrate Database
Web 开发避免不了经常修改表结构,手工修改表结构不仅容易出错,而且涉及到多人协作开发时,这么土的做法很不经济. Django 的第三方 app South 就是专门做数据库表结构自动迁移的.Jaco ...
- JS中数组Array的用法
js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了. var arr = new Array(); // 初始化数组arr[0] = "aaa";arr[1] = ...