解决使用ASP无法连接 ORACLE 9i 数据库的问题。

原创 2005年02月28日 16:39:00

今天,在一台WIN2K SERVER 服务器上,通过ASP安装在本机的 Oracle9i 数据库时,发现错误,根本无法连接上数据库。其错误描述如下:

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' 
[Microsoft][ODBC 驱动程序 管理器] 驱动程序的 SQLAllocHandle on SQL_HANDLE_ENV 失败

 


Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' 
由于系统错误 5 (Oracle in jxt_user),导致不能加载指定驱动程序

连接方式是通过ODBC,驱动程序包括 Oracle ODBC Driver 和 Microsoft ODBC Driver for Oracle 。
连接字串如下:
(1)CONNECTIONSTRING ="DSN=TXLTNS;UID=user;PWD=password"
(2)CONNECTIONSTRING ="DRIVER={Oracle in txl_user};UID=user;PWD=password;DBQ=TXLTNS;DBA=W;"

结果,都是无法正常运作。经检查发现 %ORACLE_HOME% 设置是正确的,也包含到PATH中了。


在 GOOGLE 搜索简体中文的信息,发现一个信息说法如下:
“这个其实是由于Oracle9i装在2000的NTFS分区上产生的错误。主要是IIS的权限不足,找不到Oracle9i的文件导致的错误。”
而且他还给出了一堆英文文摘,答题的意思是:%ORACLE_HOME%这个目录在安装的时候,是单独设置了权限的,默认是管理员组、SYSTEM组和一个名为“Authenticated Users”的组具有权限。他还说要这样:
------------------------------------------
v. Click on "Authenticated Users" item in the "Name" list (on Windows XP the "Name" list is called "Group or user names").
vi. Uncheck the "Read and Execute" box in the "Permissions" list (on
Windows XP the "Permissions" list is called "Permissions for
Authenticated Users"). This box will be under the "Allow" column.
vii. Check the "Read and Execute" box. This is the box you just
unchecked.

------------------------------------------

感觉这段英文的说法有点怪,为什么要取消Authenticated Users组的“读取和执行”权限呢,不是说权限不够吗?

继续在ORACLE 技术网查询相关信息,发现这个信息:
-------------------------------------------
The Microsoft ODBC driver for Oracle is known not to work correctly on a 9.2 Oracle client. You need to use the Oracle ODBC driver if you're using the 9.2 client.
-------------------------------------------

这样看来,这个错误的发生,与ORACLE的安装配置无关。因为之前测试过使用JAVA通过 JDBC 连接ORACLE是成功的。

于是下载最新的 MDAC2.8 ,安装完后,重新启动计算机,再测试原来的ASP程序,发现已经成功连接到ORACLE数据库。

前面别人说的“权限”问题,看来在这里并不使用啊。呵呵。

附:
MDAC2.8 的下载地址:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c

后记:2005/03/02

今天需要在另一台WIN2000SERVER上连接远程ORACLE数据库,所以只需要在该系统安装ORACLE的客户端就可以了。一开始,我选择了安装 Oracle Client 9.2.0.1.0的“运行时”,而不是“管理的客户端”也不是“自定义”。

安装完后,便去配置ODBC,奇怪的是ODBC中只有一个微软的ODBC for Oracle 驱动,并没有预计的 Oracle 专门的ODBC驱动。由于我已经安装了MDAC_TYPE2.8,于是我先使用微软的ODBC for Oracle 驱动生成一个DSN,在测试ASP与远程Oracle的连接时,发现又出来这个错误了。

看来 微软的ODBC for Oracle 驱动 就算升级了MDAC_TYPE2.8也是不能正常工作的。

后来仔细检查ORACLE9i “自定义”的安装组件列表中,添加“Oracle Windows Interfaces 9.2.0.1.0”这一项,安装完后, Oracle in OraHome92 这个驱动就出现在ODBC的驱动列表中了。

使用 Oracle in OraHome92 这个驱动新增一个数据源,跟着再测试ASP程序,终于正确的连接上远程的ORACLE数据库。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

oracle 9i使用闪回查询恢复数据库误删问题

oracle 9i使用闪回查询恢复数据库误删问题 投稿:mrr 字体:[增加 减小] 类型:转载 时间:2015-10-21 我要评论 本篇文章给大家介绍在oracle 9i中使用闪回查询...

从Oracle 9i连接SQL Server数据库

从Oracle 9i连接SQL Server2000,需要用透明网关(Transparent Gateway),通过它,我们可以操纵其他数据库,如 ms sqlserver 、 sybase 、 in...

“Oracle 9i/Oracle 10g” 查询 参数java.util.date 性能慢的问题和解决方案

假设我们使用这样的sql通过绑定变量(类型为java.util.date)查询数据库,其中end_date是date类型且建立了索引。 “select count(*) from table1 wh...
  • lzzyok
  • lzzyok
  • 2012-09-29 09:28
  • 1498

Oracle 9i/10g/11g 数据库 升级路线图(upgrade roadmap)

MOS的文档对升级路线的说明:Complete Check list for Manual Upgrades to11gR2 [ID 837570.1]Maclean 的Blog 上有几个更直观的图:...

Oracle 9I FOR ALL OS 官方数据库介质+补丁包 百度云迅雷下载

Oracle 9I FOR ALL OS 官方数据库介质+补丁包 百度云迅雷下载 Oracle9.2.0.1 FOR Windows+AIX+SUN SPARC+Solaris安装介质patch...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)