• 转: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

  • 相关阅读:
    Nginx入门使用
    下载pcre-8.35.tar.gz
    后端传到前端时间问题
    Layui弹出层分割线
    CSS动画实例:图文切换
    JavaScript小游戏实例:简单的键盘练习
    JavaScript小游戏实例:统一着色
    JavaScript动画实例:炸开的小球
    JavaScript动画实例:烟花绽放迎新年
    JavaScript动画实例:圆点的衍生
  • 原文地址:https://www.cnblogs.com/lrzy/p/16565372.html
Copyright © 2020-2023  润新知