我有一个相关的帖子 - Assertion failure in DBAccess.pas,但认为这值得单独询问。
我们获得了DevArt ODAC完整源代码版本的许可,但在执行升级时遇到了巨大的困难。在调查过程中,我注意到OraNet.dcu没有.pas文件。
由于我们无法完全调试代码,因此很难确定导致我们遇到困难的原因。
此外 - 这个单位是什么?从它的名称和代码中的指令,可以合理地假设它是.NET所需的单元 - 而不是我们感兴趣的东西。
答案 0 :(得分:3)
在OraNet.dcu模块中实现了直接数据库连接模式,我们不分发此模块的源代码,此限制在我们的website(底部的参考)中指定。页)。如果您不使用直接模式,并通过Oracle客户端(OCI模式)工作,您可以在项目设置中指定DEFINE NONET,在这种情况下,Direct模式将不可用,并且此模块将不会使用
答案 1 :(得分:0)
客户端使用(甚至是Oracle Instant Client)确实允许使用比直接模式更多的功能,但在某些情况下,直接模式甚至超过了OCI的性能。此外,直接模式显着简化了应用程序部署并减少了磁盘上的应用程序大小,因为不需要提供和部署其他库,并设置其他注册表参数和环境变量。 Direct模式还允许将应用程序部署到系统,而没有本机Oracle客户端,例如iOS。选择使用DB(Direct或OCI)的方式取决于每个特定应用程序解决的开发人员和任务。如上所述,如果不使用直接模式,可以通过设置DEFINE NONET来禁用其他模块插件