Asp.Net通过ODBC连接Oracle数据库
本来有个项目是通过安装Oracle client然后让asp.net引用System.Data.OracleClient来访问Oracle数据库的,但是不知道为什么老是报:ORA-12170:连接超时的错误,(客户的服务器配置是:Windows Server 2008 R2 64bit 我刚开始安装的oracle client 是32bit ,最后报什么:require oracle version 8.1以上版本什么什么的。。。没办法我只好卸载这个版本,然后在Oracle官网上下载了一个Oracle Client 64bit来安装,安装好后就没有这个问题了),tnsping,ping,telnet Ip 1521都是通的,但是就是连接不上,不过别人都能连接上,唯独我的就不行,在网上搜索好多帖子,文章都不能解决问题,在客户那里的时候,客户的网络组人员说:网络都是通的,这不是网络原因!客户的数据库组的的人员说:数据库安装是对的,这不是数据库的原因!你tmd的这是在开玩笑吗,我也是醉了,在群里问群友叫他们帮我解决下这个问题,都说是tns的问题,但是tns都是通过net manager配置的,什么空格 什么东西都不存在的事,所以不是tns的问题,然后有个群友开玩笑的对我说:恭喜你,你见鬼了!最后群里有个大神,他给我了一个dbvis_windows_8_0_10软件,貌似是通过java来连接数据库的,然后引用一下:ojdbc6.jar就可以访问了!!!这是为何,我到现在都搞不清楚,不过我的项目是asp.net所以就算连接上了,对我也没什么用,所以我必须想想其它办法 来连接Oracle,然后满世界的在网上搜索文章,看看关于用什么办法不通过安装Oracle Client来访问Oracle!!!
终于被我找到了,可以通过ODBC来连接访问Oracle,然后参考了几篇网上的文章做好了配置,运行,确实可以了,不过在这个过程中也走了不少弯路:如下
1、不需要在本地,或者服务器上设备ODBC数据源,但是你非常通过本地这样设置的话,那你在web.config下的连接字符串可以写成这样:
<add key="Oracle" value="DSN=155oracle;Uid=zhangwei;Pwd=zhangwei"/>


这样你就可以访问数据库了,但是,我说但是,为什么说我不这样设置数据源呢!你想啊,难道用户要访问你的数据库都要设置本地ODBC数据源,显然这不是正确的办法,当然这样也不错,可以做为测试用,但是不能做为生产用。那么真正在生产环境中我们的连接字符串如何写呢,如下:
<add key="Oracle" value="Driver={Microsoft ODBC for Oracle};Server=192.168.1.155/znxj;Uid=zhangwei;Pwd=zhangwei"/>
注意:上面的斜体部分,如果你部署在服务器上这个ip就不需要了。
总结:
1、在配置ODBC数据源的时候不是用户名写错,就是服务器写错,反正自己当时也不知道哪个是对的,最后能成功也是靠我自己 的经验慢慢改对的,网上有些文章也不全对,这点希望大家有所保留。
参考文章:
C#/.NET连接各类主流数据库(SQL Server,MySQL,Microsoft Access,DB2,Oracle)的连接字符串整理
通过 ODBC 来连接 Oracle 数据库
Asp.Net通过ODBC连接Oracle数据库的更多相关文章
- 解决ODBC连接Oracle数据库报Unable to connect SQLState=08004问题
今天用ODBC连接Oracle数据库时,报了这么一个错“Unable to connect SQLState=08004 Oracle ODBC Ora-12154”,上网查了好久都说PowerDes ...
- Windows server2008 搭建ASP接口訪问连接oracle数据库全过程记录
真的是太不easy了,曾经的时候在window server 2003上面搭建了一套asp+oracle的接口系统.就费了好大的劲儿,事实上那会迷迷瞪瞪的也不知道怎么的就弄好了,也懒得管了.OK,从昨 ...
- [转]ODBC连接ORACLE数据库的设置
本文转自:http://www.cppblog.com/edog/articles/1420.html 首先安装Oracle,以Oracle 817为例,作为ODBC开发者的客户端,才能使用Oracl ...
- Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用
真的是太不容易了,以前的时候在window server 2003上面搭建了一套asp+oracle的接口系统,就费了好大的劲儿,其实那会迷迷瞪瞪的也不知道怎么的就弄好了,也懒得管了.OK,从昨天到今 ...
- ASP.NET连接Oracle数据库的步骤详解(转)
ASP.NET连接Oracle数据库的步骤详解 本文我们主要介绍了ASP.NET连接Oracle数据库的步骤及每个步骤需要进行的设置,希望能够对您有所帮助. 在用ASP.NET开发应用程序时, ...
- 用ASP.Net(C#)连接Oracle数据库的方法及实例
今天看了一下asp.net连接oracle数据库的方法,得到了如下代码.这段代码打开了MyTable表,并把操作员的名字列出.字段类型是OracleString.读取的时候用的是字段编号,我不知道怎么 ...
- Asp.Net 远程连接Oracle数据库
Asp.Net 远程连接Oracle数据库 首先从微软停止.Net FrameWork支持Oracle数据库的研发,转为第三方提供说起,微软是很有实力的公司,他在桌面领域令其他对手望其项背,产品战线也 ...
- Asp.Net 应用程序在IIS发布后无法连接oracle数据库问题的解决方法
asp.net程序编写完成后,发布到IIS,经常出现的一个问题是连接不上Oracle数据库,具体表现为Oracle的本地NET服务配置成功:用 pl/sql 等工具也可以连接上数据库,但是通过浏览器中 ...
- Asp.net core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库
Asp.net Core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库 1.前言 本次主要采用Asp.net core3.1 ...
随机推荐
- C++ assert 断言使用
在研究corepattern需要让程序出core, 因此用到的assert, 记录一下. 写严谨代码时,也可以使用assert进行严格的条件判断. 函数原型: #include <asser ...
- 菜鸟学步之 爆破AspriseOCR 4.0
最近写一个小程序要用到OCR控件,在网上查了一下,据说AspriseOCR 4.0效果不错.试用了一下发现的确还行,不过就是要注册,试用版本每次都会弹出讨厌的对话框来.网上看到有一篇“新人报道–处女破 ...
- C#实现json的序列化和反序列化
在做asp.net和unity进行http通信的时候,当unity客户端发出表单请求的时候,我要将他要请求的数据以json的格式返回给客户端,让客户端来解析.服务器端这一块就涉及到json的序列化和反 ...
- Java复习3-类的继承
前言 本次学习面向对象设计的另外一个基本概念:继承(inheritance).这是Java程序设计中的一项核心技术.另外,还要学习反射(reflection)的概念. 继承 类.超类.子类 publi ...
- 【机器学习】Logistic Regression 的前世今生(理论篇)
Logistic Regression 的前世今生(理论篇) 本博客仅为作者记录笔记之用,不免有非常多细节不正确之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需转载,请 ...
- 如何拷贝一个wchar_t类型的字符串
Do this, wchar_t clone[260]; wcscpy(clone,szPath); Or, if you want to allocate memory yourself, wcha ...
- ElasticSearch 5.X 搜索并用高亮显示
public List<WOSearchModel> searchOrder(OrderSearchReqVO request) throws Exception{List<WOSe ...
- python之simplejson,Python版的简单、 快速、 可扩展 JSON 编码器/解码器
python之simplejson,Python版的简单. 快速. 可扩展 JSON 编码器/解码器 simplejson Python版的简单. 快速. 可扩展 JSON 编码器/解码器 编码基本的 ...
- 获取屏幕的宽和高-Display中getHeight()和getWidth() 官方已废弃
getHeight()和getWidth() deprecated in API level 13 Display dp=getWindowManager().getDefaultDisplay(); ...
- Ado.Net,关于DataSet和DataTable
DataSet和DataTable的 区别与联系 1.简要说明二者关系 在我们编写代码的时候从数据库里取出数据,填充到dataset里,再根据表的名字,实例化到 DataTable 中. ●注意如下 ...