欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-22 15:06:37
需求: 从一台oracle数据库获取数据,本以为是很简单的事情,直接将原来的sqlclient换成oracleclient调用,结果远没自己想的简单。要么安装oracle...

需求:

从一台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)的方式

总结

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