您的位置:首页 > 理论基础

未在本地计算机上注册“OraOLEDB.Oracle.1”提供程序解决方案

2012-03-04 09:29 597 查看
未在本地计算机上注册“OraOLEDB.Oracle.1”提供程序解决方案

一、现象:

  C#程序中需要以Provider=OraOLEDB.Oracle.1方式访问ORACLE数据库。但程序执行时报异常:未在本地计算机注册“OraOLEDB.Oracle.1”提供程序

二、解决方案:

  1、在Oracle安装目录找到Oracle的主程序目录,点击鼠标右键->属性->安全,对ASP.NET或者NETWORK SERVICE 帐户赋予允许读、执行权限,并在“高级”中保证该目录的子目录、文件都继承这些属性。

  2、服务器ORACLE为10g,虽然安装时选择了Oracle   Data   Provider   for   .net 和Oracle   Provider   for   OLE   DB。但是还是需要人工命令行注册一下

regsvr32 D:\oracle\10.2.0\db\BIN\OraOLEDB10.dll。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhengkai12/archive/2009/10/12/4658671.aspx

 

=================================================================================

用Microsoft OLE DB Provider for Oracle连接Oracle时,报"发生了一个Oracle错误,但无法从Oracle中检索错误信息"的解决办法:

1、打开注册表到:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI

?For Oracle 10g, the correct settings are

?OracleOciLib = oci.dll

?OracleSqlLib = orasql10.dll

?OracleXaLib = oraclient10.dll

======================================================================================

Microsoft Windows [版本 6.1.7600]

版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>emctl stop dbconsole

Environment variable ORACLE_SID not defined. Please define it.

C:\Users\Administrator>

==================================================================================

Microsoft Windows [版本 6.1.7600]

版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>emctl stop dbconsole

Environment variable ORACLE_SID not defined. Please define it.

C:\Users\Administrator>set oracle_sid=orcl

C:\Users\Administrator>emctl stop dbconsole

OC4J Configuration issue. F:\oracle\product\10.2.0\db_1/oc4j/j2ee/OC4J_DBConsole

_ZGC-20110112KWQ_orcl not found.

C:\Users\Administrator>emctl start dbconsole

OC4J Configuration issue. F:\oracle\product\10.2.0\db_1/oc4j/j2ee/OC4J_DBConsole

_ZGC-20110112KWQ_orcl not found.

C:\Users\Administrator>

===========================================================================

Microsoft Windows [版本 6.1.7600]

版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>emctl stop dbconsole

Environment variable ORACLE_SID not defined. Please define it.

C:\Users\Administrator>set oracle_sid=orcl

C:\Users\Administrator>emctl stop dbconsole

OC4J Configuration issue. F:\oracle\product\10.2.0\db_1/oc4j/j2ee/OC4J_DBConsole

_ZGC-20110112KWQ_orcl not found.

C:\Users\Administrator>emctl start dbconsole

OC4J Configuration issue. F:\oracle\product\10.2.0\db_1/oc4j/j2ee/OC4J_DBConsole

_ZGC-20110112KWQ_orcl not found.

C:\Users\Administrator>emctl stop dbconsole

EM Configuration issue. F:\oracle\product\10.2.0\db_1/ZGC-20110112KWQ_orcl not f

ound.

C:\Users\Administrator>emctl stop dbconsole

Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0

Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://PC-201005011739:1158/em/console/aboutApplication

没有启动 OracleDBConsoleorcl 服务。

请键入 NET HELPMSG 3521 以获得更多的帮助。

C:\Users\Administrator>emctl start dbconsole

Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0

Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://PC-201005011739:1158/em/console/aboutApplication

Starting Oracle Enterprise Manager 10g Database Control ...OracleDBConsoleorcl

服务正在启动 .

OracleDBConsoleorcl 服务无法启动。

系统出错。

发生系统错误 3。

系统找不到指定的路径。

C:\Users\Administrator>

================================================================

C:\Users\Administrator>emctl start dbconsole

Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0

Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://PC-201005011739:1158/em/console/aboutApplication

Starting Oracle Enterprise Manager 10g Database Control ...OracleDBConsoleorcl

服务正在启动 ...................................................................

................................................................................

................................................................................

.................................................................

OracleDBConsoleorcl 服务无法启动。

发生服务特定错误: 1.

请键入 NET HELPMSG 3547 以获得更多的帮助。

C:\Users\Administrator>

=====================================================================

Microsoft Windows [版本 6.1.7600]

版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>emctl stop dbconsole

Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0

Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://PC-201005011739:1158/em/console/aboutApplication

服务正在启动或停止中,请稍候片刻后再试一次。

C:\Users\Administrator>emctl stop dbconsole

Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0

Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://PC-201005011739:1158/em/console/aboutApplication

服务正在启动或停止中,请稍候片刻后再试一次。

C:\Users\Administrator>emctl start dbconsole

Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0

Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://PC-201005011739:1158/em/console/aboutApplication

Starting Oracle Enterprise Manager 10g Database Control ...服务正在启动或停止中

,请稍候片刻后再试一次。

C:\Users\Administrator>emctl start dbconsole

Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0

Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://PC-201005011739:1158/em/console/aboutApplication

Starting Oracle Enterprise Manager 10g Database Control ...服务正在启动或停止中

,请稍候片刻后再试一次。

C:\Users\Administrator>emca -config dbcontrol db

EMCA 开始于 2011-2-25 2:29:41

EM Configuration Assistant 10.2.0.1.0 正式版

版权所有 (c) 2003, 2005, Oracle。保留所有权利。

输入以下信息:

数据库 SID: orcl

监听程序端口号: 1521

SYS 用户的口令:

DBSNMP 用户的口令:

SYSMAN 用户的口令:

通知的电子邮件地址 (可选):

通知的发件 (SMTP) 服务器 (可选):

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

已指定以下设置

数据库 ORACLE_HOME ................ F:\oracle\product\10.2.0\client_1

数据库主机名 ................ ZGC-20110112KWQ

监听程序端口号 ................ 1521

数据库 SID ................ orcl

通知的电子邮件地址 ...............

通知的发件 (SMTP) 服务器 ...............

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

是否继续? [yes(Y)/no(N)]: y

2011-2-25 2:30:22 oracle.sysman.emcp.EMConfig perform

信息: 正在将此操作记录到 F:\oracle\product\10.2.0\client_1\cfgtoollogs\emca\orcl

\emca_2011-02-25_02-29-40-上午.log。

2011-2-25 2:30:31 oracle.sysman.emcp.EMReposConfig updateReposVars

严重: 文件/目录 F:\oracle\product\10.2.0\client_1\sysman\emdrep\config\repositor

y.variables 不存在

2011-2-25 2:30:33 oracle.sysman.emcp.EMDBCConfig updateEmomsProps

严重: 文件/目录 F:\oracle\product\10.2.0\client_1\sysman\config\emoms.properties

.emca 不存在

2011-2-25 2:30:33 oracle.sysman.emcp.EMConfig perform

严重: 更新 F:\oracle\product\10.2.0\client_1\sysman\config\emoms.properties 时出



有关详细资料, 请参阅 F:\oracle\product\10.2.0\client_1\cfgtoollogs\emca\orcl\emc

a_2011-02-25_02-29-40-上午.log 中的日志文件。

无法完成配置。 有关详细资料, 请参阅 F:\oracle\product\10.2.0\client_1\cfgtoollog

s\emca\orcl\emca_2011-02-25_02-29-40-上午.log 中的日志文件。

C:\Users\Administrator>

==============================================================================

<%--格式对,但是到不进去,需要该network版本为2.0,然后将<% page%>里面加入validateRequest="fales" 即可--%>

==========================================================================

解决程序异常问题的最简单的办法:

开始-运行- 输入cmd-- 回车,在命令提示符下输入下面命令

for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1

怕输入错误,可以复制这条指令,然后在命令提示符后击鼠标右键,打“粘贴”,回车,耐心等待,直到屏幕滚动停止为止。

=====================================

◆开始→运行→输入cmd→回车,在命令提示符下输入下面命令 for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1回车。 完成后,在输入下面的for %i in (%windir%\system32\*.ocx) do regsvr32.exe /s %i 回车。如果怕输入错误,可以复制这两条指令,然后在命令提示符后击鼠标右键,打“粘贴”,回车,耐心等待,直到屏幕滚动停止为止。(重启电脑)。 ●在检查运行regedit进入注册表, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks
下,应该只有一个正常的键值{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 将其他的删除。【如果还有一个(默认)值不用管它,一般它为空。】必要时【还原】或重新安装系统。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐