c# 连接oracle 及对应获取数据集
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文库