1、数据库配置xml,首先连接成功后会自动创建xml并保存到对应xml,如下
static string ConnPath = AppDomain.CurrentDomain.BaseDirectory + "ConnOrcle.xml";
声明xml名称,便于后续写入对应数据库参数
2、创建xml
/// /// 创建XML节点 /// /// /// /// /// /// 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
/// /// 读取XML内容赋值给连接 /// /// 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、连接数据库测试
/// /// 连接数据库 /// /// 地址 /// 端口 /// 服务名称 /// 用户 /// 密码 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、其中调用的函数
/// /// 地址 /// 端口 /// 服务名称 /// 用户 /// 密码 /// OleDbConnection 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文库
相关文章
您阅读本篇文章共花了: 大家都在找:
oracle:oracle认证oca
c#:c#字符串加密解密
数据库:数据库官网
发表评论