C#利用ODP.net连接Oracle数据库的操作方法

本文介绍了C#连接Oracle数据库的过程。通过instant client和ODP.net中的Oracle.DataAccess.dll,我们就可以方便的部署.net应用程序或者站点,而不需要安装Oracle客户端。接下来我们就介绍这一过程。

1. ODAC的安装
在oracle的官方网站上下载与你安装的oracle对应版本的ODAC。
下载地址:ODAC Download
下载好后解压安装,安装时不用安装全部的组件。主要安装以下组件:
Oracle Instant Client
Oracle Data Provider For .net2.0
Oracle rovider For Asp .net

2. 环境变量的设置
设置Windows的环境变量:
ORACLE_HOME :ODAC的安装目录(类似 ~\app\Administrator\product\11.1.0\client_1);
LD_LIBRARY_PATH :%ORACLE_HOME%;
TNS_ADMIN : %ORACLE_HOME%;
在PATH的最前面追加:%ORACLE_HOME%;

3. 监听文件tnsnames.ora的配置
在目录%ORACLE_HOME%下新建文件tnsnames.ora,内容如下:


代码如下:

数据库SID =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle主机名或者IP)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = 数据库SID)
)
)

4. plsqldev
这样配置好后,plsqldev就可以连接上oracle数据库了。

5. C#连接Oracle
C#连接oracle的示例代码如下:


代码如下:

OracleConnection conn =
new OracleConnection();
try
{
conn.ConnectionString = ConfigurationManager.ConnectionStrings["oradb"].ConnectionString;
conn.Open();
string sql = " select id,content from test"; // C#
OracleCommand cmd = new OracleCommand(sql, conn);
cmd.CommandType = CommandType.Text;
OracleDataReader dr = cmd.ExecuteReader(); // C#
List<string> contents = newList<string>();
while(dr.Read())
{
contents.Add(dr["content"].ToString());
}
listBox1.ItemsSource = contents;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Clone();
}

在程序app.config或者web.config中追加数据库连接的配置。


代码如下:

<connectionStrings >
<add name="oradb"connectionString="Data Source=(DESCRIPTION=
(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=****)));
User Id=***;Password=***;"/>
</connectionStrings>

按照上述的步骤执行,如果没有错误,就可以成功地连接数据库了。

(0)

相关推荐

  • c#实现的操作oracle通用类

    修改整理的一个通用类,用来操作oracle数据库 十分的方便,支持直接操作sql语句和Hash表操作.现在修补MIS我都用这个类,节约了大 量的代码与工作良!在老孙的指点下,偶将操作oracle,sql server ,access三种数据库的通用类集成在一起写了个数据抽象工厂,同时支持三种数据库无缝切换...以后整理出来. using System; using System.Data; using System.Data.OracleClient; using System.Collecti

  • C#连接Oracle的方法实例总结

    本文实例总结了C#连接Oracle的方法.分享给大家供大家参考,具体如下: 一.通过System.Data.OracleClient(需要安装Oracle客户端并配置tnsnames.ora) 1. 添加命名空间System.Data.OracleClient引用 2. using System.Data.OracleClient; 3. string connString = "User ID=IFSAPP;Password=IFSAPP;Data Source=RACE;"; Or

  • 用C#将图片保存至Oracle BLOB字段中的方法

    本文我想跟大家分享的是如何将 C# 中的一些图像对象保存到 Oracle 中的 BLOB 字段中,这里我们并不想从零开始,而是使用我自己的框架,下面我们开始. 1. 首先创建一个空的表: CREATE TABLE GAMBAR ( GAMBAR_BIN BLOB ); 2. 接下来下载 ImageViewer 库. 这是一个我自己开发的 WPF 用户控件用来加载图片文件到 WPF 窗体(这是一个开源的控件,尽管我很讨厌开源),下载后解压. 3. 接下来创建一个 WPF 应用 (我很讨厌这样写 F

  • C#调用Oracle存储过程的方法

    本文实例讲述了C#调用Oracle存储过程的方法.分享给大家供大家参考.具体实现方法如下: Oracle数据库代码如下: 复制代码 代码如下: create or replace procedure proce_test(paramin in varchar2,paramout out varchar2,paraminout in out varchar2) as   varparam varchar2(28); begin   varparam:=paramin;   paramout:=va

  • c#中oracle的to_date函数使用方法

    例子一,获取三小时前的记录 public static DataTable Query() { const string sSql = "select xh,lsh,name from table where gxsj>to_date(:gxsj,'yyyy-MM-dd HH24:mi:ss')"; OracleParameter[] parameters = {new OracleParameter(":gxsj", OracleType.VarChar,

  • C#连接Oracle数据库的实例方法

    1.建立连接字符串,里面包含数据库名称.用户名和密码 2.建立操作字符串,里面是对数据操作的SQL语句 3.建立Connection,用连接字符串作为参数建立 4.建立Command,用操作字符串和Connection作为参数 5.建立DataAdapter,用Command作为参数 复制代码 代码如下: string cosn = "Data Source=172.20.65.236;User Id=bjmedicare_qy;Password=bjmedicare_qy";    

  • C#实现远程连接ORACLE数据库的方法

    本文实例讲述了C#实现远程连接ORACLE数据库的方法.分享给大家供大家参考.具体分析如下: 使用该方法,只需要传入几个必要的参数就可以进行数据库的远程连接测试了,连接成功返回TRUE,失败返回false. 参数说明: 第一个参数表示你在数据库中的用户,具有可以登录权限的 第二个参数表示用户的密码,没有加密 第三个参数表示登录的服务器的地址 第四个参数表示登录的服务器的端口号 第五个参数表示登录的数据库的名字 一定记得必要的引用 复制代码 代码如下: /// <summary> /// 测试数

  • mvc C# JavaScript LigerUI oracle实现用户的注册、登陆验证、登陆

    一.登录数据库,在数据库中创建表User00,并且插入数据. 表的字段分别为: Id(编号).Name(姓名).Grid(级别).Score(积分).Password(密码).Age(年龄).Code(邀请码).(其中编号是自动编号) 部分命令如下: select * from User00; /*查询User00*/ insert into User00 values('one','优',10000,'123',24); /*插入一行数据*/ update User00 set Grid='优

  • C#连接Oracle数据库的方法

    本文实例讲述了C#连接Oracle数据库的方法.分享给大家供大家参考.具体实现方法如下: //1.添加引用 System.data.oracleClient //2.设置连接字符串 data source是服务名(也就是在客户端sqlplus中需要输入的主机字符串) //3.以下用法和sqlserver Access 用法一直 string strConn = "data source=oamis;user=scott;password=tiger;"; OracleConnectio

  • 深入分析C#连接Oracle数据库的连接字符串详解

    两种方式:1.IP+SID方式 2.配置链接方式1..IP+SID方式 复制代码 代码如下: DbHelperOracle.connectionString = string.Format(@"Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = {0})(PORT = 1521)))(CONNECT_DATA =(SID = {1})(SERVER = DEDICATED)));User Id={

  • C# Oracle数据库操作类实例详解

    本文所述为C#实现的Oracle数据库操作类,可执行超多常用的Oracle数据库操作,包含了基础数据库连接.关闭连接.输出记录集.执行Sql语句,返回带分页功能的dataset .取表里字段的类型和长度等,同时还有哈稀表自动插入数据库等高级任务.需要特别指出的是:在执行SQL语句,返回 DataReader之前一定要先用.read()打开,然后才能读到数据,再用hashTable对数据库进行insert,update,del操作,注意此时只能用默认的数据库连接"connstr". 完整

  • c#几种数据库的大数据批量插入(SqlServer、Oracle、SQLite和MySql)

    在之前只知道SqlServer支持数据批量插入,殊不知道Oracle.SQLite和MySql也是支持的,不过Oracle需要使用Orace.DataAccess驱动,今天就贴出几种数据库的批量插入解决方法. 首先说一下,IProvider里有一个用于实现批量插入的插件服务接口IBatcherProvider,此接口在前一篇文章中已经提到过了. /// <summary> /// 提供数据批量处理的方法. /// </summary> public interface IBatch

随机推荐