远程连接数据库,.net 程序远程连接 Oracle 数据库

访问 oracle 数据库的方式很多,我用的是 OleDbConnection,这个没什么好说的,代码如下:
 1. 连接代码
_OleDbConnection = new OleDbConnection(connectionString);
_OleDbConnection.Open();
 2.连接字符串
远程连接的连接字符串可以这样写
provider=MSDAORA;host=192.168.1.1;data source=MyTest;user id=system;password=xxx
provider = MSDAORA; 指明oledb 的提供者是oracle数据库
host 是远程 oracle 数据库所在服务器的IP地址,如果端口不是默认的 1521,还要加上一个 Port=xxxx;
data source 是要访问的 oracle 数据库的名字
user id 和 password 就不说了。
要能够成功运行上面代码,我们必须在代码运行的机器上安装 oracle 的客户端,否则会报
The Oracle(tm) client and networking components were not found 这个错误。
3. 主机防火墙设置
我的 Oracle 安装在 Windows 2003 server 上,为了安全起见,必须设置防火墙
我在 Windows 2003 下将 1521 端口开放,发现无法连接数据库,抓包看了一下,oracle 客户端在连接了 1521 后又去连接了一个随机的端口 1197
查了一下资料,oracle 的 network listener 只起一个中介作用,当客户连接它时,它根据配置寻找到相应的数据库实例进程,然后分配一个新的数据库连接,这个连接端口由network listener传递给客户机,此后客户机就不再和network listener打交道了,而是和 oracle.exe 这个进程打交道了。这个新的连接端口是不可预知的,因而会被防火墙阻止。
要解决这个问题,网上查到的办法是采用共享套接字,这个方法应该是一个比较通用的办法,如何做详见
在Windows server 2003系统防火墙上开放Oracle服务端口 连接1521 TNS超时
不过我偷了个懒,因为我只用 windows 的防火墙,windows 防火墙可以对某个进程开放所有端口。所以只要按下面图示的方式设置一下windows 防火墙,就可以访问了。

编辑推荐:
1. ASP.NET - 新版.Net开发必备十大工具
2. .Net制作的快捷邮箱登陆方法
3. .Net设计模式实例系列文章总结
本文关键词: .net,Oracle,数据库,Windows,技巧 分享到: 新浪微博 腾讯微博 人人网 开心网 百度搜藏 QQ空间 谷歌
最新评论
还没有评论,查看其他精彩评论
网友评论
登录 取消 笔名 请输入评论请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。 IT专家网友拥有管理笔名和留言的一切权利。if(isLoginTemp) { n=document.myform.nickname; n.value=nickname; n.disabled=true;}function log_bbs() { if(document.myform.message.value=="请输入评论"){document.myform.message.value='';return} post_it.location.href='http://bbs.ctocio.com.cn/ask/log.php';}function myformcheck(){ var m=document.myform.mes.value; if(m.length400){alert("留言不能少于4或者超出400的长度!");return false;} m=m.replace(/\n/g,'').replace(/^\s+|\s+$/g,""); document.myform.message.value=m; document.myform.mes.value=''; document.myform.aid.value=aid; title=document.title.split('_')[0]; document.myform.subject.value=title; p=''+document.getElementsByTagName('p')[0].innerHTML+'.....
'; try{p=document.getElementById('digest').innerHTML;}catch(e){} p=p.replace(/\/imagelist\//g,'http://www.ctocio.com.cn/imagelist/'); c=''+p+'
'; url=location.href.replace(location.hash,'').replace(window.location.search,''); document.myform.article.value=c+'查看原文:'+url+'
'; document.myform.action="http://bbs.ctocio.com.cn/ask/comment.php"; return true;}function gotolog() { lg=document.loginform; if(confirm("您还没有登陆,要登陆吗?\n\n登陆后发表评论能够获得论坛金币")) { var url=encodeURIComponent(location.href); lg.action="http://passport.yesky.com/cas/login?service="+url+"&furl="+url+"%3F1"; lg.style.display="block"; lg.username.focus(); document.myform.style.display="none"; }else{ document.myform.nickname.focus(); }}相关文章
最新文章
邮件订阅
热门排行奥运嘉年华
购买3G手机的五大误区你要注意! 最新经典手机游戏大集合2,极力推荐 刘谦变魔术,《神鬼传奇》广告内容大猜想 火爆!答题送汤姆逊高清播放器、跳舞毯! 网易代理《魔兽世界》:不用九城二手服务器 分享用U盘给笔记本安装XP系统的经验 张纪中版《倚天》竟然抄袭《魔兽世界》宣传片 娱乐:真人版超级玛丽!!不雷你抽我! 牛人年年有!盘点网游超雷的专用游戏键盘 攒机、升级、配置推荐、玩家宝典汇总贴
热点专题
社区
白皮书专家答疑
Whatis
Tags:  远程连接数据库

延伸阅读

最新评论

发表评论