需求:
从一台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=数据库密码;";
远程服务器数据库服务名称如下:

效果:

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