暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

C#连接Oracle数据库

Ty3306 2022-10-07
1253

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();
复制


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论