C#利用ODP.net连接Oracle数据库的操作方法
时间:2024-01-27 03:17:26
本文介绍了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>
按照上述的步骤执行,如果没有错误,就可以成功地连接数据库了。
标签:ODP.net,连接,Oracle数据库
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
MySQL使用select语句查询指定表中指定列(字段)的数据
2024-01-26 07:51:49
插件下载安装系列Eclipse/IDEA/谷歌/火狐安装插件
2022-05-13 03:46:18
![](https://img.aspxhome.com/file/2023/4/130924_0s.jpg)
选择一个优秀正文字体的15个技巧
2008-03-20 13:36:00
![](https://img.aspxhome.com/file/UploadPic/20083/20/2008320134124747s.jpg)
PHP中isset()和unset()函数的用法小结
2023-11-19 14:19:24
Django日志及中间件模块应用案例
2021-06-02 22:16:50
MySQL高级特性之集合函数
2009-02-26 16:19:00
Python中字符串List按照长度排序
2023-11-28 21:43:02
简单解决Python文件中文编码问题
2021-08-21 22:58:43
![](https://img.aspxhome.com/file/2023/8/110068_0s.png)
Python selenium get_cookies获取cookie不全的解决方案
2021-09-17 07:39:52
![](https://img.aspxhome.com/file/2023/9/103499_0s.jpg)
vue 项目@change多个参数传值多个事件的操作
2024-06-07 16:01:08
![](https://img.aspxhome.com/file/2023/8/121978_0s.jpg)
对Python3中列表乘以某一个数的示例详解
2023-05-05 03:10:40
使链接具有最大化、最小化的功能代码
2008-02-24 16:43:00
Python里disconnect UDP套接字的方法
2023-03-26 02:48:00
javascript发表评论或者留言时的展开效果
2024-05-02 17:29:19
Python reduce函数作用及实例解析
2023-10-10 22:27:47
![](https://img.aspxhome.com/file/2023/4/107494_0s.png)
MySQL实现分词搜索(FULLTEXT)的方法
2024-01-22 17:47:40
![](https://img.aspxhome.com/file/2023/5/129915_0s.png)
Python 打印中文字符的三种方法
2022-11-14 10:22:07
Golang搭建开发环境的图文教程
2024-04-26 17:28:51
![](https://img.aspxhome.com/file/2023/6/134036_0s.jpg)
Python 实现文件打包、上传与校验的方法
2021-08-10 22:55:59
Python爬虫番外篇之Cookie和Session详解
2022-02-09 18:56:44
![](https://img.aspxhome.com/file/2023/9/89209_0s.jpg)