【发布时间】:2010-08-06 20:21:17
【问题描述】:
试图让 Advantage OLE DB Provider 的本地服务器版本在 64 位 Windows 7 计算机上工作。安装了 64 位版本 10.00.0.3 版本并复制了我的应用程序。从 app 目录注册 adsoledb64.dll。我什么都得不到。也不写日志。我是否必须在 64 位机器上编译应用程序?非常困惑和沮丧。
【问题讨论】:
-
您能否详细说明“一无所获”?有错误吗?您的应用程序是否成功加载提供程序?连接有错误吗?还是它连接后没有获取数据?
-
我没有收到任何写入 ads_err.dbf 的内容,我的 .net 应用程序也没有任何错误。我确实在 32 位机器(编译的 AnyCPU)上测试了该应用程序,在那里工作正常。 oledb 提供程序的优势在于 32 位安装和 64 位安装(只能安装在 64 位机器上)。我的应用程序本身是在 32 位工作站上编译的,并复制(及其众多 dll)到我用于测试的 64 位机器上。想知道我是否需要在错误的地方注册更多的 dll 或 dll。如果有人有这个工作,我会很乐意提供建议。也许我需要将一些 try catch 写入应用程序以进行连接。
-
对于我想在 64 位上运行的编译,我有优势连接库编译为 x64,但应用程序中的一些其他库只能为 AnyCPU 或 x86 编译,所以它有点混合...总共有 6 个库。
-
如果您可以隔离故障发生的位置以帮助我们了解建议的内容,这将有所帮助。我不清楚您是否成功连接。您是否有一些可能会吞噬异常的 try/catch 块?我假设您使用的是 OleDbConnection 对象;这是真的吗?
-
是的,使用 OleDbConnection 对象。我确实有一个连接问题。当我把它拿出来时,我的应用程序确实会在 Windows 7 上崩溃,会寻找问题类型的错误:) 但仍然没有写入错误文件。我不认为提供程序字符串与 x64 有任何差异。不确定是否有退货我可以检查...我已经检查了 devzone 但那里没有大量示例。它在我的 32 位机器上运行良好,我没有对其进行过多修改。想知道我是否应该尝试在 64 位机器上安装 Visual Studio(如果我能获得许可)看看这是否会给我一个线索?