Oracle.ManagedDataAccessDTC.dll 使用

ODP.NET, Managed Driver Setup

This section explains the setup and configuration steps required for using distributed transactions with ODP.NET, Managed Driver.

Oracle recommends that applications use .NET‘s native managed distributed transaction implementation (default), which is available in .NET Framework 4.5.2 or higher. Applications can set whether .NET‘s native managed distributed transaction or Oracle.ManagedDataAccessDTC.dll is used by setting the UseManagedDTC parameter in the .NET configuration file. Follow these steps to configure distributed transactions in these .NET Framework versions:

  1. Create and setup the OraMTS recovery service or make sure an existing recovery service is running.
  2. Set the value of OMTSRECO_PORT in the .NET configuration to specify the port number that the OraMTS recovery service is running.

Alternatively, you can still use Oracle.ManagedDataAccessDTC.dll with .NET Framework 4.5.2 and managed ODP.NET. To do so, set UseManagedDTC to true and follow the instructions listed below for .NET Framework 4.5.1.

For .NET Framework 4.5.1 and lower applications, follow these steps to setup and configure managed ODP.NET for distributed instructions:

  1. Create and setup the OraMTS recovery service or make sure an existing recovery service is running.
  2. Deploy Oracle.ManagedDataAccessDTC.dll along with the application.
  3. Set the value of OMTSRECO_PORT in the .NET configuration to specify the port number that the OraMTS recovery service is running.

Oracle.ManagedDataAccessDTC.dll is included with ODP.NET, Managed Driver. This DLL makes unmanaged MSDTC COM calls to MSDTC, which means there is a 32-bit version and 64-bit version of this DLL. These two DLLs share the same name. If you are using 32-bit .NET Framework, then deploy the 32-bit Oracle.ManagedDataAccessDTC.dll. If you are using 64-bit .NET Framework, then deploy the 64-bit Oracle.ManagedDataAccessDTC.dll. The DLLs are located in the following directories:

  • For 32-bit .NET Framework: ORACLE_HOME\odp.net\managed\x86
  • For 64-bit .NET Framework: ORACLE_HOME\odp.net\managed\x64

Upon ODP.NET installation, Oracle.ManagedDataAccessDTC.dll is no longer placed into the Global Assembly Cache (GAC). For applications that use this DLL, Oracle.ManagedDataAccessDTC.dll must either be placed in the application directory or in the GAC.

Oracle.ManagedDataAccessDTC.dll should not be directly referenced by a .NET application. It will be implicitly loaded by ODP.NET, Managed Driver when using distributed transactions.

For applications with platform target x64 or x86 specifically, Oracle.ManagedDataAccess.dll will load Oracle.ManagedDataAccessDTC.dll appropriately if it is placed into the GAC or if it resides in the application directory.

For applications that target AnyCPU, the corresponding Oracle.ManagedDataAccessDTC.dll needs to be placed into x64 and x86 subdirectories under wherever the Oracle.ManagedDataAccess.dll is loaded from by the application. ODP.NET, Managed Driver will load the appropriate Oracle.ManagedDataAccessDTC.dll assembly (32-bit or 64-bit), based on whether the application is 32-bit or 64-bit. If both 32-bit and 64-bit versions of Oracle.ManagedDataAccessDTC.dll are in the GAC, then the appropriate assemblies will be loaded automatically.

https://docs.oracle.com/cd/E63277_01/win.121/e63268/InstallDistributedTransaction.htm#ODPNT8172

时间: 2024-08-10 00:03:35

Oracle.ManagedDataAccessDTC.dll 使用的相关文章

未能加载 Oracle.ManagedDataAccessDTC.dll 或它的依赖项

第一个项目做完了,交付给测试进行测试,碰到一堆问题,当然不是程序上的,而是环境上的! 这个项目是用 EF 5 + MVC5 + Oracle 11 开发的. 驱动用的是 Oracle.ManagedDataAccess ,本地WIN7/8.1运行一点问题都没有.今天下午打包到 WIN 2008 上,解决了一堆环境问题后,一个大难题出现了: Could not load file or assembly 'Oracle.ManagedDataAccessDTC.dll',什么 PSPManager

FSharp 调用 Oracle.ManagedDataAccess.dll

Oracle.ManagedDataAccess.dll 即使是 64 位系统,也要注册 32 位版本. #if INTERACTIVE #[email protected]"C:\oracle\odp.net\managed\common\Oracle.ManagedDataAccess.dll" #endif openOracle.ManagedDataAccess.Client openOracle.ManagedDataAccess.Types open System.Data

IIS8无法调用Oracle.DataAccess .dll问题

之前在.net平台下操作Oracle都是用的oracle.dataaccell.dll引用,但是服务器升级为II8后,发布的新服务有关Oracle数据库部分都无法运行,调试了好久发现是IIS8不支持低版本的Oracle.dataAccess.dll文件,需更新为新版本的Oracle.ManagedDataAccess.dll ,下载链接如下:http://pan.baidu.com/s/1kUXElyn

PowerShell 调用 Oracle.ManagedDataAccess.dll

 # # PowerShell调用 Oracle.ManagedDataAccess.dll # [System.Reflection.Assembly]::LoadFrom("C:\oracle\odp.net\managed\common\Oracle.ManagedDataAccess.dll") $connStr="userid=hr;password=hr;data source=xe" $conn=New-ObjectOracle.ManagedDa

Oracle.ManagedDataAccess.dll

C#使用Oracle.ManagedDataAccess.dll 在刚接触C#的时候由于公司使用的就是Oracle数据库,那么C#怎么连接Oracle数据库就成了首要去掌握的知识点了.在那时没有ODP.NET,但visual studio却对Oralce数据库的调用进行了集成,就是下图中的这个,尽管现在使用这个的时候visual studio提醒过时的,但在那时却是非常好用的. 为什么现在visual studio中这个程序集依然能使用,有ODP.NET,单单要拿出Oracle.ManagedD

C#使用Oracle.ManagedDataAccess.dll

在刚接触C#的时候由于公司使用的就是Oracle数据库,那么C#怎么连接Oracle数据库就成了首要去掌握的知识点了.在那时没有ODP.NET,但visual studio却对Oralce数据库的调用进行了集成,就是下图中的这个,尽管现在使用这个的时候visual studio提醒过时的,但在那时却是非常好用的. 为什么现在visual studio中这个程序集依然能使用,有ODP.NET,单单要拿出Oracle.ManagedDataAccess.dll进行本文的重点呢? 1.visual s

NHibernate4使用Oracle.ManagedDataAccess.dll连接oracle及配置多个数据库连接

NHibernate数据库配置参数在hibernate.cfg.xml中 <?xml version="1.0" encoding="utf-8"?> <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> <session-factory name="ora10gFactory"> <!--<prop

webservice因引用Oracle.DataAccess.dll导致发布前预编译不通过

这个问题最初是什么问题已经忘了,虽然就在几小时前/??,终于在这儿@brandonbanks 找到解决办法. 原因:Oracle是64位的,引用的Oracle.DataAccess.dll也是64位的,但预编译默认指定的编译器是32位的,所以我只做了其中一个步骤,即在项目Property文件夹下的配置文件中添加以下节点:<AspnetCompilerPath>C:\Windows\Microsoft.NET\Framework64\v4.0.30319</AspnetCompilerPa

C# 连接Oracle ,免安装客户端

在.NET平台下开发Oracle应用的小伙伴们肯定都知道一方面做Oracle开发和实施相比SqlServer要安装Oracle客户端(XCopy.自己提取相关文件也有一定复杂性),另一方面相比JAVA平台不如JDBC方便快捷,特别是一些刚接触Oracle的小伙伴,面临配置tns.ora.OraHome等等多少有些畏难情绪. 初始庐山 现在,这一切都即将成为过去啦.继早些时候Oracle官方推出的ODP.NET Managed的Beta版之后,最近的版本已经跟随12c一起发布了,可以  DLL h