【问题标题】:Quickbooks Integrated Application can't open a connection when Quickbooks is already openQuickbooks 已打开时,Quickbooks 集成应用程序无法打开连接
【发布时间】:2013-10-10 20:56:58
【问题描述】:

我有一个使用 QBFC 12.0 用 C# 编写的 Quickbooks“集成应用程序”。它已在许多具有多个版本的 Quickbooks 的站点上安装并正常工作。今天我尝试用 Quickbooks 2012 Premiere 将它安装在一个新站点上。要授权应用程序连接,需要打开 QB,以 QB 管理员身份登录,然后从集成应用程序启动连接。每次我在新站点上安装应用程序时都必须这样做。在这种情况下,当我尝试启动连接时,我收到以下错误消息:

无法打开 Quickbooks。 Quickbooks 无法启动,因为它已经在运行。只有 Quickbooks Accountant 和 Quickbooks Enterprise 可以打开多个公司文件。

由于我的应用程序试图访问已打开的同一个公司文件,因此该消息具有误导性。查看 QBSDKLog.txt,我发现以下内容:

20131010.152314 I   5324    RequestProcessor    ========= Started Connection =========
20131010.152314 I   5324    RequestProcessor    Request Processor, QBXMLRP2 v11.0
20131010.152314 I   5324    RequestProcessor    Connection opened by app named 'IOS     Briefcase Sync'
20131010.152314 I   5324    RequestProcessor    OS: Microsoft Windows 7 Professional Service Pack 1 (build 7601), 32-bit
20131010.152314 I   5324    RequestProcessor    Current Process is elevated
20131010.152314 I   5324    RequestProcessor    Current User is in AdminGroup
20131010.152314 I   5324    RequestProcessor    Current Process is ran as Admin
20131010.152314 I   5324    RequestProcessor    Current Process Integrity Level : 3000
20131010.152314 I   5324    RequestProcessor    Getting the IUnknown COM instance of QB
20131010.152514 E   5324    RequestProcessor    An internal error occured while looking for a running instance of QuickBooks and getting its COM reference. Cannot continue. hr = 80080005
20131010.152514 E   5324    RequestProcessor    Could not find or create an instance of QuickBooks using InstanceFinder hr = 8004041c
20131010.152514 I   5324    RequestProcessor    Connection closed by app named 'IOS Briefcase Sync'
20131010.152514 I   5324    RequestProcessor    ========== Ended Connection ==========

知道什么可能导致 COM 错误吗?

【问题讨论】:

  • 我认为这可能与stackoverflow.com/questions/17409766/… 有关。确保您已安装 QB 2012 的最新更新。我还建议在程序中完成更新(帮助>更新 QuickBooks>立即更新),因为内部更新似乎比 Intuit 网站上的更新文件下载更多。
  • 您解决了这个问题吗?如果是这样,请让我知道如何。谢谢

标签: quickbooks qbfc


【解决方案1】:

我遇到了类似的问题,出现“无法打开 Quickbooks。Quickbooks 无法启动,因为它已经在运行。”错误。

在某些情况下,我还会收到“如果 QuickBooks 公司数据文件未打开,则对 BeginSession 方法的调用必须包含数据文件的名称。”当 QuickBooks 确实确实打开了一个数据文件。

我终于找到了 QBINSTANCEFINDER17.INI 文件 (C:\ProgramData\INTUIT\QuickBooks\QBINSTANCEFINDER17.INI)。我清除了该文件中的条目,现在一切正常。

QuickBooks 使用 QBINSTANCEFINDER ini 文件来跟踪打开的实例。显然,当 QBW32.exe 进程异常关闭时,此文件中的条目并不总是 他们应该被清除。通常这不会导致问题,但在某些情况下会出现问题。

编辑:评论...

我还发现在某些情况下一定存在安全令牌问题(或类似问题)。在 Windows 7 64 位系统上,我发现在调试器(Delphi 2007)的控制下运行应用程序时,我无法从应用程序访问 QuickBooks。但是,相同的 .EXE 文件,如果在运行时复制到 Program Files (x86) 下的正常安装文件夹,则可以正常访问 QuickBooks。

否则(从调试器运行,甚至只是从我的开发文件夹运行)总是发生的是未检测到正在运行的 QuickBooks 实例,并且 QBXML 调用导致 QuickBooks 的第二个实例启动,从而导致您描述的错误.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    相关资源
    最近更新 更多