转:C#连接Oracle数据库
原文 :(79条消息) C#连接Oracle数据库_闲齁齁的博客-CSDN博客_c# oracle
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('-');
返回受影响的行数kl,我的想法可能不是很正规,因为我也是第一次接触Oracle数据库,大家有什么意见或者对此有不同的想法,欢迎指正。大家共同学习,共同进步。
————————————————
版权声明:本文为CSDN博主「闲齁齁」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43434929/article/details/122351006