【问题标题】:DAO 3.6 on Windows Server 2008DAO 3.6 on Windows Server 2008
【发布时间】:2012-10-31 12:42:26
【问题描述】:

由于历史原因,我们有一些旧的 vb6 服务器端代码运行在两个相同的 Windows 2008 服务器机器上,它们使用 dao 3.6 访问后端 MS 访问数据库。这多年来一直运行良好,我们目前正在迁移所有代码。但是,运行代码的其中一台服务器变得不稳定,因此我们需要将代码移动到新服务器,因为迁移的解决方案暂时不会准备好。 运行正常的服务器正在运行 Windwos Server Web 2008 Sp1 64 位。新服务器是 Windows Server Standard 2008 R2 Standard Sp1。 在这个新服务器上运行测试时,我们开始在应用程序中随机冻结。有一个简单的循环在数据库中的每个表上运行一个选择查询。添加一堆日志记录后,它在调用 DAO.Database 对象的 OpenRecordset 方法时冻结。有时它会冻结几秒钟,有时会冻结 10 - 11 分钟,然后继续。正在运行的查询就是这种格式,并且应该都返回 0 条记录:

SELECT * FROM BlahBlah WHERE WriteTime > #25 Oct 2012 10:09:43#

直接在数据库上运行时(即在 Access 中),它们返回正常。每次都锁定的查询也不相同。我认为这可能是我们的软件特有的东西,直到我在这里找到了一个非常相似的帖子(不幸的是,除了我的,没有回复!) http://www.vbforums.com/showthread.php?653166-Using-Dao-3.6-on-Windows-server-2008&highlight=dao+3.6+server+2008

目前我唯一发现的是,它运行的服务器上DAO360.dll的版本是3.60.9704,而有问题的服务器上的版本是3.60.9756(即更新版本的Dao )。我没有手动安装或注册任何东西,而是在新服务器上安装了Access 97和Access 2003,和旧服务器一样。我还应该指出,如果我将后端代码原样移动到旧服务器,那么测试工作正常,所以我很确定它不是代码。

现在我知道 DAO 已经过时了,但在迁移的解决方案可用并经过全面测试之前,我一直坚持使用这个代码库,所以任何关于去哪里寻找的想法都会非常受欢迎。同时,我将尝试在新服务器上手动注册 3.60.9704 版本并运行更多测试,看看是否是问题所在,但如果是这样,那就有点奇怪了......

【问题讨论】:

    标签: vb6 windows-server-2008 dao


    【解决方案1】:

    啊哈!虽然我们只使用 DAO,而不是完整的访问权限,但这似乎是答案

    http://social.technet.microsoft.com/Forums/en-US/officesetupdeployprevious/thread/2a34fc07-0a1e-4248-b866-2b1c60aabba2

    当我进一步研究它时,代码运行良好的服务器是 Windows 2008 网络服务器,虽然它是 64 位,但与新机器 Windows 服务器上的操作系统完全不同2008 R2。解决方案似乎是回到服务器上的旧操作系统,而不是重新编写整个应用程序,这对我们来说是一件容易的事情。 幸运的是,这只需要再运行几个月左右,因为整个内容正在重新编写。

    【讨论】:

      猜你喜欢
      • 2016-02-08
      • 2014-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-14
      • 1970-01-01
      相关资源
      最近更新 更多