windows无法加载可扩展计数器dll oracle11卸载

主机:电信2号 via:gate-dx14757人阅读
无法加载 DLL“oramts.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)
最近在做一个小项目,语言VS2005,C#,数据库Oracle9i,但是为了兼容以前数据库SqlServer2005,以便于数据库版本的切换,事务中,仍然使用System.Transaction.Transcope的分布式事务,但是事务调试时出现了 无法加载 DLL“oramts.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。这个错误,
&Oramts.dll 文件公开登记 Oracle 连接所涉及到在通过 Microsoft 分布式事务处理协调器 (MSDTC) 启动的事务中的公共 API。 在事务处理环境中运行时, System.Data.OracleClient 程序集调用这些 API。
System.Data.OracleClient 程序集的早期版本不支持分布式的事务。 因此,该依赖项不存在 System.Data.OracleClient 程序集版本 1.1 之前。
当您执行分布式的事务活动时 System.Data.OracleClient 程序集使用 Oramts.dll 文件。 当您尝试执行 nontransacted 活动时, 或者当您使用本地事务时不加载 System.Data.OracleClient 程序集。 如果 Oracle 客户端连接软件,在安装过程中不包括此组件,您尝试使用分布式的事务与 System.Data.OracleClient ,您可能会收到以下错误信息:System.Data.OracleClient: Unable to load DLL (oramts.dll)与 Oracle 客户端连接组件安装在 Oramts.dll 文件。 它不被分发使用任何 Microsoft 软件。 Oramts.dll 文件不是作为默认安装包含在安装 Oracle 客户端连接软件时。 若要安装此组件必须单击以选中 Oracle Services for Microsoft Transaction Server 在安装 Oracle 客户端连接软件时复选框。 有关这些组件的信息,请访问下面的 Oracle Web 站点: ()
先到Oracle官方网站上面下载ODAC92070.exe因为这是为了支持分布式事务的一个数据库连接包,Oracle跟微软官方网站上有说明,Oracle不支持单独将oramts.dll分布的方式,就是说这个包不能单独下载,只能下载这个安装,安装完成后,
再运行代码,仍就事务出错,报的错误一样,查看环境变量中的path,并在Oracle92Home目录,查找oramts.dll已经存在,
后来在一网站(英文的)不记得了,说Oramts.dll这个dll是因为在debug模式下面编译的,所以不能正常使用
通过DependencyWalker查看依赖项,发现少了msvcrtd.dll,这个在装上Vs6.0,VC++的机器上有,这是一个VC的编译器文件,
然后下载一个msvcrtd.dll拷贝到C:/windows/System32下面,再试分布式事务,成功
希望这编文章能给刚开始使用VS2005+Oracle数据库的一些朋友一点点帮助.
当然你要是使用Oracle10g,Oracle11g相关版本,只要下载对应的Oracle Data Access Components (ODAC)数据访问组件就可解决Oracle数据库客户端访问组件下载地址:
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:94235次
积分:1180
积分:1180
排名:第19753名
原创:30篇
评论:34条
(1)(2)(1)(2)(1)(1)(1)(2)(1)(4)(2)(1)(3)(2)(1)(1)(1)(4)您正在使用IE低版浏览器,为了您的IThao123账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
利用Windows性能计数器(PerformanceCounter)监控
利用Windows性能计数器(PerformanceCounter)监控
一、概述&&&&&&&&性能监视,是Windows NT提供的一种系统功能。Windows NT一直以来总是集成了性能监视工具,它提供有关操作系统当前运行状况的信息,针对各种对象提供了数百个性能计数器。性能对象,就是被监视的对象,典型例子有Processor、Process、Memory、TCP/UDP/IP/ICMP、PhysicalDisk等。计数器通常提供操作系统、应用程序、服务、驱动程序等的性能相关信息,以此来分析系统瓶颈和对系统及应用程序性能进行诊断和调优。性能计数器机制让应用程序和操作系统组件可以向性能监视应用程序,比如性能监视器(Performance Monitor),报告一些与性能有关的统计信息。PerfMon.exe中可以查看性能对象、性能计数器和对象实例,可通过添加计数器来查看相关描述信息。实际上,可以通过编写程序来访问所有的Windows性能计数器。Windows中,注册表是访问性能计数器的一种机制。性能信息并不实际存在于注册表中,在注册表编辑器RegEdit.exe中是无法查看的,但可以通过注册表函数来访问,利用注册表键来获得从性能数据提供者那里提供的数据。打开名为HKEY_PERFORMANCE_DATA的特殊键,利用RegQueryValueEx函数查询键下面的值,就可以直接访问注册表性能计数器信息。当然,也可以利用性能数据帮助器(PDH, Performance Data Helper) API (Pdh.dll)来访问性能计数器信息。性能日志和警报是作为 Windows 操作系统的一部分发行的一种管理性能监控工具。它依靠由各种 Windows 组件、子系统和应用程序发布的性能计数器,使您可以跟踪资源使用情况以及针对时间以图形方式绘制它们。您可以使用 Performance Logs and Alerts 来监控标准的性能计数器(例如,内存使用情况或处理器使用情况),或者您可以定义您自己的自定义计数器来监控应用程序特定的活动。&二、HKEY_PERFORMANCE_DATA数据组织&&&&&&&&性能数据的头部是一个PERF_DATA_BLOCK结构(如图1所示),它描述系统和性能数据总体信息,可从Global键值处查询得到该结构数据。PERF_DATA_BLOCK之后,定义了系统中的全部性能对象类型(PERF_OBJECT_TYPE),其中每个对象类型头部中描述了下一个性能对象类型的偏移量Offset。650) this.width=650;" style="border-bottom:0border-left:0border-top:0border-right:0" title="image001" border="0" alt="image001" src="/uploads/u/6d/7b/6d7bdbcdc386ae8e5d03ba0.jpg" width="180" height="224" /> 图1650) this.width=650;" style="border-bottom:0border-left:0border-top:0border-right:0" title="image002" border="0" alt="image002" src="/uploads/u/cc/6d/cc6dc6ebdc500f69dcc571.gif" width="244" height="181" /> 图2性能对象有两种:一种是单实例对象,另一种是多实例对象。图2和图3分别描述了这两种性能对象的数据组织方式。每个对象数据块包含了一个PERF_OBJECT_TYPE结构,描述对象的性能数据。紧随其后是PERF_COUNTER_DEFINITION结构列表,描述了性能对象的全部计数器定义。对于单实例对象,计数器定义列表后是一个PERF_COUNTER_BLOCK结构,计数器数据紧随其后。每个PERF_COUNTER_DEFINITION结构中定义了计数器数据相对于PERF_COUNTER_BLOCK的偏移量,因此可以非常方便地获得全部计数器的值。对支持多实例性能对象来说,PERF_COUNTER_DEFINITION结构列表之后是一组实例信息数据块,每个表示代表一个对象实例。每个实例信息数据块由一个PERF_INSTANCE_DEFINITION结构体、实例名和一个PERF_COUNTER_BLOCK结构体组成。后面是计数器值数据,与单实例对象相同。650) this.width=650;" style="border-bottom:0border-left:0border-top:0border-right:0" title="image003" border="0" alt="image003" src="/uploads/u/42/74/f7ddfa43db57f071693f.gif" width="481" height="365" />图3三、性能计数器的架构&&&&&&&&性能计数器采用的是客户端服务器结构,性能数据采用共享内存存储,在应用中自定义性能计数器,在应用程序调用的时候调用性能计数器进行计数。体系结构如下:650) this.width=650;" style="border-bottom:0border-left:0border-top:0border-right:0" title="image004" border="0" alt="image004" src="/uploads/u/ce/3d/ce3da3ee0.jpg" width="475" height="382" />性能计数器可以获得应用程序性能的实时度量数据,而不需要通过记日志,进行另外的处理。而且性能计数器可以远程查看,可以通过管理工具(MOM)进行管理。在损耗上也非常的小。四、.NET性能计数器实现在.NET Framework下有个程序集(C:WINDOWSMicrosoft.NETFrameworkv2.0.50727perfcounter.dll)实现了性能计数器功能,包括性能计数器的安装/卸载,值的读写。在命名空间System.Diagnostic提供了一组性能计数器类,包括PerformanceCounterCategory,PerformanceCounter,PerformanceCounterInstaller,CouterSample等等。在.NET中性能计数器有良好的抽象封装,实现起来比C/C++容易得多。我们在应用经常只关注一些请求类型的数据度量,例如下述:Requests StartedRequests ExecutingRequests CompletedRequests FailedRequest Execution TimeRequests/HourRequests/5MinRequests/MinRequests/Sec但是真正需要做这些性能计数器的安装/卸载,计数,读取还是需要大量的代码,通过封装来简化编程接口。对于使用WCF来实现的服务,可以基于WCF的扩展性,进行进一步的封装。&.Net最佳实践3:使用性能计数器收集性能数据/b/ralarcon/archive//web-app-performance-counters-compilation.aspxMonitor your SQL Server
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
产品设计是互联网产品经理的核心能力,一个好的产品经理一定在产品设计方面有扎实的功底,本专题将从互联网产品设计的几个方面谈谈产品设计
随着国内互联网的发展,产品经理岗位需求大幅增加,在国内,从事产品工作的大部分岗位为产品经理,其实现实中,很多从事产品工作的岗位是不能称为产品经理,主要原因是对产品经理的职责不明确,那产品经理的职责有哪些,本专题将详细介绍产品经理的主要职责
IThao123周刊502 Bad Gateway
502 Bad Gateway
nginx/1.2.7PLSQL developer 连接不上64位Oracle 解决办法 - 南山一叶 - ITeye技术网站
博客分类:
在64位Windows7上安装Oracle后,用PLSQL developer去连接数据库出现报错:
Could not load "……\bin\oci.dll"
OCIDLL forced to……
LoadLibrary(……oci.dll) returned 0
oci.dll是64位的,32位应用程序PLSQL Developer自然无法加载了,而且PLSQL Developer只支持32位,所以如果非要64位Oracle,我们只有想别的办法解决了;
解决方法一:
1、下载instantclient_32位客户端,加压后存放,如D:\ProgramFiles\instantclient
2、拷贝Oracle11.2G的msvcr80.dll和tnsnames.ora到解压的instantclient_32位客户端根目录,它们的位置分别是:
D:\ProgramFiles\Crystal\product\11.2.0\dbhome_1\BIN和D:\ProgramFiles\Crystal\product\11.2.0\dbhome_1\NETWORK\ADMIN
3、设置PLSQL Developer中设置Oracle_Home和OCI Library,
4、在PLSQL Developer目录下创建bat文件,作为PLSQL Developer的启动快捷方式替换PLSQL Developer传统启动方式,bat文件中的内容如下:
set path=D:\ProgramFiles\instantclient
set ORACLE_HOME=D:\ProgramFiles\instantclient
set TNS_ADMIN=D:\ProgramFiles\instantclient
set NLS_LANG=AMERICAN_AMERICA.AL32UTF8
start plsqldev.exe
至此设置完成,经实验PLSQL Developer的可以成功连接到Oracle 10g64位
浏览: 117055 次
来自: 北京
littlebitty 写道嘿嘿,虽说的不好却能解决实际问题
尹宇飞 写道?在那了,找不到不好意思,这个我没有找到官方标准的 ...
?在那了,找不到
精辟啊,总结的

我要回帖

更多关于 oracle11.2.0.4下载 的文章

 

随机推荐