当前位置:首页 > 数据库 > C#连接Oracle数据库

C#连接Oracle数据库

6个月前 (05-21)56

1.C#连接Oracle数据库

C#连接Oracle数据库目前常用的有三种方式:
(1)System.Data.OracleClient.dll(微软)
(2)Oracle.DataAccess.Client.dll(Oracle,也称ODP.NET)
(3)Oracle.ManagedDataAccess.dll(Oracle)
第一个需要在客户端安装数据库,且已经过时了,但是还是可以继续使用的。第二个不需要在客户端安装数据库,可以直接访问服务器上的数据库,但是区分x86和x64,也是比较麻烦的,所以我比较推荐第三种。
第三种使用前需要先下载Oracle.ManagedDataAccess.dll文件,这个下载地址百度搜一下吧,我也忘了我是在哪下载的了。
主要的我认为就是个连接字符串,粘贴一下连接字符串:

//数据源
            string connString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xxx.xxx.xxx)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=***)));Persist Security Info=True;User ID=***;Password=***;";
            OracleConnection conn = new OracleConnection(connString);//实例化
            conn.Open();

我感觉还是比较简单的,在这因为创建项目的框架导致也走了不少弯路。xxx代表的是服务器地址,1521是Oracle数据库的默认端口号,另外三处的***就是数据库实例名称,用户名和密码。

2.C#连接Oracle数据库,执行操作语句

 string sql = "select * from table";
            OracleCommand cmd = new OracleCommand(sql, conn);
            OracleDataAdapter da = new OracleDataAdapter(cmd);
            DataSet ds = new DataSet();//定义数据集
            da.Fill(ds);

在这里我感觉我走的路比较麻烦了,因为我把查出来的表数据填充到了dataset里面,然后在下面我又使用循环把dataset里的数据取出来放进了datatable里面,在这大家如果有好的方法可以一同交流。

3.把datagridview的数据填充到datatable里

            //将datagridview数据转换成datatable
            DataTable tabl = new DataTable();

            tabl = dataGridView1.DataSource as DataTable;

这个填充写法好像有很大的局限性,但是我使用中没出什么问题。

4.字符串拆分

                //循环取出导入Excel的datatable的数据
                string CID = tabl.Rows[i]["地址"].ToString();
                //把地址进行拆分,例如1-2-1-1,拆分成1,2,1,1
                String[] nameStrArray = CID.Split('-');

5.添加操作

                string sql = "添加语句"OracleCommand cmd = new OracleCommand(sql, conn);
                int kl = cmd.ExecuteNonQuery();

返回受影响的行数kl,我的想法可能不是很正规,因为我也是第一次接触Oracle数据库,大家有什么意见或者对此有不同的想法,欢迎指正。大家共同学习,共同进步。

作者:晚风偷吻云朵
来源链接:https://blog.csdn.net/qq_43434929/article/details/122351006

标签: Oracle

“C#连接Oracle数据库” 的相关文章

Oracle中分页查询语句

Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看。 Oracle分页查询语句基本上可以按照本文给出...

详解ASP.NET的最新安全漏洞,Padding Oracle攻击原理及其他

微软在9月17日中午正式对外公布了ASP.NET平台下的安全漏洞,即Microsoft Security Advisory (2416728)。 SecurityFoc...

You may need to set ORACLE

You may need to set ORACLE

win10,之前安装过PLSQL,开发需要故安装oracle,安装完成之后sqlplus报错 You may need to set ORACLE_...

Oracle去除重复(某一列的值重复),取最新(日期字段最新)的一条数据

表中数据重复产生,通过一个字段判断是否重复,使用该字段进行分组 使用row_number() over()函数对其分组后排序,之后通过条件筛选出最近日期的一条数据。...

Oracle数据库的备份方法

Oracle数据库的备份方法

1、引言 Oracle数据库的备份方法很多,无论使用那种备份方法,备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统。比如使用expo...

(转)oracle视图详解

Oracle视图详解   一. 视图的定义 视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存...

Oracle自定义函数

核心提示:函数用于返回特定数据。执行时得找一个变量接收函数的返回值; 语法如下: create or replace function function_name ( argu1...

oracle的简单介绍与查询

重点内容mysql与oracle的区别? mysql:免费的,并发量小,数据类型(int,varchar) 主键自增:(勾选);没有自动备份;任何...

Oracle中TO_DATE格式

TO_DATE格式(以时间:2007-11-02   13:45:25为例)        &n...

Dapper完美兼容Oracle,执行存储过程,并返回结果集。

Dapper完美兼容Oracle,执行存储过程,并返回结果集。

Dapper完美兼容Oracle,执行存储过程,并返回结果集。 这个问题,困扰了我整整两天。 刚刚用到Dapper的时候,感觉非常牛掰。特别是配合.net 4.0新特性dyn...