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

所属分类: 数据库 / oracle 阅读数: 128
收藏 0 赞 0 分享
本文介绍了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>

按照上述的步骤执行,如果没有错误,就可以成功地连接数据库了。
更多精彩内容其他人还在看

Oracle 子程序参数模式,IN,OUT,NOCOPY

Oracle 子程序参数模式主要有IN,OUT,NOCOPY,IN和OUT可以组合,OUT和NOCOPY也可以组合使用.
收藏 0 赞 0 分享

Oracle 存储过程加密方法

Oracle 存储过程加密方法,需要的朋友可以参考下。
收藏 0 赞 0 分享

oracle 多个字符替换实现

CSDN上的一个网友,需要一个sql语句的解决方案需求是这样的求写oracle多个字符替换(有测试数据)
收藏 0 赞 0 分享

Oracle 存储过程教程

一个简单的oracle分页存储过程的实现和调用。在看了众多的分页存储过程以后发现都是针对sqlserver的,而没有oracle的,因此想写一个关于oracle的存储过程,因为我用到的数据库是oracle。
收藏 0 赞 0 分享

oracle 更改数据库名的方法

这两天一朋友问如何更改数据库名,于是做个测试,简单记录下,以便说明问题。
收藏 0 赞 0 分享

Oracle 分析函数RANK(),ROW_NUMBER(),LAG()等的使用方法

Oracle分析函数RANK(),ROW_NUMBER(),LAG()等的使用方法,需要的朋友可以参考下。
收藏 0 赞 0 分享

Oracle字符集修改查看方法

Oracle字符集修改查看方法,需要的朋友可以参考下。
收藏 0 赞 0 分享

一些实用的sql语句

一些实用的sql,需要的朋友可以参考下。
收藏 0 赞 0 分享

Oracle中sys和system的区别小结

SYS用户具有DBA权限,并且拥有SYS模式,只能通过SYSDBA登陆数据库。是Oracle数据库中权限最高的帐号 SYSTEM具有DBA权限。但没有SYSDBA权限。平常一般用该帐号管理数据库就可以了。
收藏 0 赞 0 分享

oracle 存储过程和触发器复制数据

oracle 存储过程和触发器复制数据的代码,需要的朋友可以参考下。
收藏 0 赞 0 分享
查看更多