交易范围在甲骨文与ASP.NET [英] Transaction Scope in Oracle with ASP.NET
问题描述
using (System.Transactions.TransactionScope ts = new System.Transactions.TransactionScope())
{
TableAdapter.Insert("test","test");
ts.Complete();
}
我收到此错误:无法加载DLL oramts.dll :指定的模块找不到。 (异常来自HRESULT:0x8007007E)
I am getting this error :Unable to load DLL 'oramts.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
我有适用于Windows交易的Oracle服务安装Oracle客户端
即使该DLL文件的 oramts.dll 在[ORALCE_HOME] /斌
I have Oracle Client installed with Oracle services for Windows Transaction even the DLL file oramts.dll is in [ORALCE_HOME]/bin
在此先感谢
推荐答案
的http://jelle.druyts.net/2006/06/25/UnableToLoadOramtsdllTryTheReleaseVersion.aspx
原来,该版本oramts.dll的(提供DTC
已安装由Oracle 9i发行版本的Oracle事务支持)
2 CD是调试版本,而不是一个发布版本。 (设在水槽
片刻:甲骨文是航运调试建立他们的软件......)。
正如你可以在DLL中的在下面的截图看
DependencyWalker,这个调试版本对MSVCRTD.DLL的依赖,
它是Microsoft C运行时库
It turns out that the version of oramts.dll (which provides DTC transaction support for Oracle) as installed by the Oracle 9i Release 2 CD is a debug build, rather than a release build. (Let that sink in for a moment: Oracle is shipping debug builds of their software...). As you can see in the following screenshot of the dll in DependencyWalker, this debug build has a dependency on MSVCRTD.DLL, which is a debug build of the Microsoft C Runtime Library
这解决了我的问题。
这篇关于交易范围在甲骨文与ASP.NET的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!