需求:

从一台Oracle数据库获取数据,本以为是很简单的事情,直接将原来的SqlClient换成OracleClient调用,结果远没自己想的简单。要么安装Oracle客户端,要么安装PLSQL。网上这方面搜索后,太多的文章,还要不停的去测试。最后找个引入外部类库的方式。这个DLL其实是Oracle为C#专门提供的,在它的官方也可以下载到(不过找起来很麻烦)。

这里我就把这个方案和dll分享给大家。

点击这里下载

DEMO示例

using Oracle.ManagedDataAccess.Client; //引入命名空间

  private void button1_Click(object sender, EventArgs e)
  {
   string strSql = "select * from s_user";
   DataTable dt = QueryDt(strSql);
  }
//Oracle连接字符串
private static string strconn = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.30.0.37)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=EMES)));Persist Security Info=True;User ID=EMES_DEV;Password=EMES_DEV;";

  private DataTable QueryDt(string sql)
  {
   using (OracleConnection conn = new OracleConnection(strconn))
   {
    try
    {
     if (conn.State != ConnectionState.Open)
     {
      conn.Open();
     }
     OracleDataAdapter adap = new OracleDataAdapter(sql, conn);
     DataTable dt = new DataTable();
     adap.Fill(dt);
     return dt;
    }
    catch (Exception ex)
    {
     return null;
    }
    finally
    {
     conn.Close();
    }
   }
  }

连接字符串格式:

格式:
string strconn = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.30.0.37)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=EMES)));Persist Security Info=True;User ID=EMES_DEV;Password=EMES_DEV;";

格式:
string strconn = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=远程服务器IP地址)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=远程服务器数据库服务名称)));Persist Security Info=True;User ID=数据库用户名;Password=数据库密码;";

远程服务器数据库服务名称如下:

C#连接Oracle数据库字符串(引入DLL)的方式

效果:

C#连接Oracle数据库字符串(引入DLL)的方式

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。