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 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数据源的时候不是用户名写错,就是服务器写错,反正自己当时也不知道哪个是对的,最后能成功也是靠我自己 的经验慢慢改对的,网上有些文章也不全对,这点希望大家有所保留。

参考文章:

ODBC DSN-Less

C#/.NET连接各类主流数据库(SQL Server,MySQL,Microsoft Access,DB2,Oracle)的连接字符串整理

ODBC数据源连接Oracle数据库示例

通过 ODBC 来连接 Oracle 数据库

C#连接Oracle数据库的四种方法

目录
打赏
0
0
0
0
5
分享
相关文章
YashanDB数据库服务端SSL连接配置
YashanDB支持通过SSL连接确保数据传输安全,需在服务端生成根证书、服务器证书及DH文件,并将根证书提供给客户端以完成身份验证。服务端配置包括使用OpenSSL工具生成证书、设置SSL参数并重启数据库;客户端则需下载根证书并正确配置环境变量与`yasc_env.ini`文件。注意:启用SSL后,所有客户端必须持有根证书才能连接,且SSL与密码认证独立运行。
【Oracle】使用Navicat Premium连接Oracle数据库两种方法
以上就是两种使用Navicat Premium连接Oracle数据库的方法介绍,希望对你有所帮助!
124 28
在C++的QT框架中实现SQLite数据库的连接与操作
以上就是在C++的QT框架中实现SQLite数据库的连接与操作的基本步骤。这些步骤包括创建数据库连接、执行SQL命令、处理查询结果和关闭数据库连接。在实际使用中,你可能需要根据具体的需求来修改这些代码。
99 13
【赵渝强老师】Oracle的闪回数据库
Oracle闪回数据库功能类似于“倒带按钮”,可快速将数据库恢复至 earlier 状态,无需还原备份。本文介绍了闪回数据库的使用方法及实战案例:包括设置归档模式、开启闪回功能、记录SCN号、执行误操作后的恢复步骤等。通过具体 SQL 操作演示了如何利用闪回数据库恢复被误删的用户数据。注意,使用此功能前需确保数据库为归档模式。
【赵渝强老师】Oracle数据库的闪回表
本文介绍了Oracle数据库中的闪回表(Flashback Table)功能,它能够将表的数据快速恢复到特定时间点或系统改变号(SCN),无需备份。文章通过实战示例详细演示了如何使用闪回表恢复数据,包括授权、创建测试表、记录时间与SCN号、删除数据、启用行移动功能、执行闪回操作以及验证恢复结果等步骤。同时,还展示了如何通过触发器禁止插入操作,并在闪回过程中处理触发器的启用问题。文末附有视频讲解,帮助读者更好地理解闪回表的使用方法。
69 10
【赵渝强老师】Oracle数据库的闪回查询
本文介绍了Oracle数据库的闪回查询(Flashback Query)功能及其实际应用。闪回查询通过`AS OF`子句,结合时间戳或SCN号,可查询历史数据状态,帮助分析数据差异。文中通过具体示例演示了如何使用闪回查询:创建测试表、记录当前SCN号、更新数据并提交事务,最后通过闪回查询获取历史数据。附带的视频和代码块详细展示了操作步骤与结果。
【赵渝强老师】Oracle数据库的闪回技术
在Oracle数据库操作中,难免会遇到误删表或提交错误事务等问题,可能导致数据丢失甚至数据库停止运行。传统解决方法依赖备份恢复,但需提前准备正确备份。为此,Oracle提供了闪回技术,无需备份即可快速恢复数据。它支持7种类型的操作,如闪回查询、版本查询、表恢复等,能有效应对逻辑损坏和用户错误。闪回技术基于还原(undo)数据管理,启用自动管理后可实现高效恢复。
ASP备份数据库
ASP备份数据库 日期:2003-2-17 10:37:42出处:- 作者:追风 文件1:BackupDB.asp Database --> BackupServer Name:  Administrators:  Password:  Data...
872 0

热门文章

最新文章

推荐镜像

更多