当前位置:   article > 正文

c# 连接oracle 及对应获取数据集_c# 访问oracle数据库读出的结果集

c# 访问oracle数据库读出的结果集

1、数据库配置xml,首先连接成功后会自动创建xml并保存到对应xml,如下

static string ConnPath = AppDomain.CurrentDomain.BaseDirectory + "ConnOrcle.xml";

声明xml名称,便于后续写入对应数据库参数

2、创建xml

/// <summary>
        /// 创建XML节点
        /// </summary>
        /// <param name="ip"></param>
        /// <param name="port"></param>
        /// <param name="sid"></param>
        /// <param name="user"></param>
        /// <param name="pwd"></param>
        public static void CreateXMLInform(string ip, string port, string sid, string user, string pwd)
        {
            XmlDocument xmlDoc = new XmlDocument();
            XmlDeclaration xmlDecl = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null);
            xmlDoc.AppendChild(xmlDecl);

            XmlElement xe = xmlDoc.CreateElement("Conn");//创建一个Conn节点

            XmlElement xc1 = xmlDoc.CreateElement("ConnIP");//IP
            xc1.InnerText = ip;
            xe.AppendChild(xc1);

            XmlElement xc2 = xmlDoc.CreateElement("ConnPort");//端口
            xc2.InnerText = port;
            xe.AppendChild(xc2);

            XmlElement xc3 = xmlDoc.CreateElement("ConnSid");//服务器名称
            xc3.InnerText = sid;
            xe.AppendChild(xc3);

            XmlElement xc4 = xmlDoc.CreateElement("ConnUser");//用户名
            xc4.InnerText = user;
            xe.AppendChild(xc4);

            XmlElement xc5 = xmlDoc.CreateElement("ConnPwd");//密码
            xc5.InnerText = pwd;
            xe.AppendChild(xc5);

            xmlDoc.AppendChild(xe);
            xmlDoc.Save(ConnPath);
        }

3、声明连接类实体 ConnEntity

 private string connIP;//ip地址
        private string connPort;//端口
        private string connSid;//服务器名称
        private string connUser;//用户名
        private string connPwd;//密码

4、读取xml内容并赋值给ConnEntity

/// <summary>
        /// 读取XML内容赋值给连接
        /// </summary>
        /// <returns></returns>
        public static ConnEntityReadXML()
        {
            ConnEntity connentiy= new ConnEntity();
            if (File.Exists(ConnPath))
            {
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(ConnPath);
                XmlNodeList list = xmlDoc.SelectSingleNode("Conn").ChildNodes;
                connentiy.ConnIP = list[0].InnerText;
                connentiy.ConnPort = list[1].InnerText;
                connentiy.ConnSid = list[2].InnerText;
                connentiy.ConnUser = list[3].InnerText;
                connentiy.ConnPwd = list[4].InnerText;
            }
            return connentiy;
        }

5、连接数据库测试

 /// <summary>
        /// 连接数据库
        /// </summary>
        /// <param name="ip">地址</param>
        /// <param name="port">端口</param>
        /// <param name="sid">服务名称</param>
        /// <param name="user">用户</param>
        /// <param name="pwd">密码</param>
        public static bool ConnectionTestDB(string ip, string port, string sid, string user, string pwd)
        {
            ConnOracle(ip, port, sid, user, pwd);
            try
            {
                //不为空 并且 是关闭或者断了的情况下,才连接
                if (Connection != null && (Connection.State == System.Data.ConnectionState.Closed || Connection.State == System.Data.ConnectionState.Broken))
                {
                    Connection.Open();
                    ReturnOwner = Select("SELECT OWNER, TABLE_NAME FROM ALL_TAB_COMMENTS ORDER BY OWNER, TABLE_NAME");
                }
                MessageBox.Show("连接成功!");
                return true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(+“连接失败,请检查数据库配置参数”ex.Message.ToString());
                return false;
            }
        }

6、其中调用的函数

 /// </summary>
        /// <param name="ip">地址</param>
        /// <param name="port">端口</param>
        /// <param name="sid">服务名称</param>
        /// <param name="user">用户</param>
        /// <param name="pwd">密码</param>
        /// <returns>OleDbConnection</returns>
        private static OracleConnection ConnOracle(string ip, string port, string sid, string user, string pwd)
        {
            string connStr;
            connStr = "Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = " + ip + ")(PORT = " + port + "))) (CONNECT_DATA = (SERVICE_NAME = " + sid + ")));User ID=" + user + ";Password=" + pwd + ";";
            Connection = new OracleConnection(connStr);
            return Connection;
        }

详细看源码网址及下载

c#oracle创建实体类操作资源-CSDN文库

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/780569?site
推荐阅读
相关标签
  

闽ICP备14008679号