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

未在本地计算机上注册“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}, 将其他的删除。【如果还有一个(默认)值不用管它,一般它为空。】必要时【还原】或重新安装系统。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值