0

我正在运行一个 Pivotal 应用程序(5.9)并且有一个总是崩溃的服务器进程(MS SQL 错误 1206)。

  1. 我有一个带有更新按钮的 Pivotal “活动表单”,单击该按钮时会调用服务器进程(VB 6 自定义 DLL)
  2. 这个自定义 DLL:
    1. 通过使用 Pivotal API 检索可以使用 Pivotal 应用程序的所有用户的列表(“用户”标准表),然后使用连接字符串创建自己到另一个数据库的连接)
    2. 对于每个用户,它构造并运行一个查询:
    3. strSql = select SUM(stoResourceSize) totalResourceSize from " & dbName & ".dbo.Resource where StorageID = 3 and XptDestinationAddress like " strSql = strSql & "'%" & userName & "%'"

用于运行查询的连接字符串如下:

strConnect = "Driver={SQL Server};" & _
    "Server=" & SatteliteName & ";" & _
    "UID=" & SyncStreamDBName & ";" & _
    "Trusted_Connection=Yes"

它工作正常,但查询在处理大约 80 个用户后崩溃,错误 1206 和 SQLState = 37000

我每次都能重现这个问题。在给定时间,此查询将崩溃。

我添加了很多跟踪,如果我“手动”在服务器上运行最后一个查询,它就可以正常工作。它不会每次都在同一个用户上崩溃,它看起来像是随机的。此外,在应用程序中存在另一个服务器程序,它可以运行相同的查询,但只针对一个用户。那一个会运行良好,永远不会崩溃。我也尝试启用 ODBC 跟踪,但它不会给我任何有用的信息。

我很确定这是连接或配置问题,但我不知道是什么问题。这个问题在开发和测试环境中都是可重现的。

编辑:实际上似乎我的服务器进程可能会在各个点崩溃,不一定是在执行该请求时。当我打开 ADODB 记录集时,它似乎崩溃了(当然,在接触任何记录集之前,我验证 EOF 和 BOF 都是错误的,并且它们是)。

4

0 回答 0