【问题标题】:SQL Server Native Client error "A trigger returned a resultset"SQL Server Native Client 错误“触发器返回了结果集”
【发布时间】:2017-01-20 00:53:54
【问题描述】:

需要帮助

我已经尝试过使用了

FDTable.insert
  ///code;
FDTable.post

我得到了错误:[firedac][Phys][ODBC][Microsoft][SQL Server Native Client 10.0][SQL Server]触发器返回了一个结果集和/或正在运行 SET NOCOUNT OFF 而另一个未完成的结果集很活跃

我已经尝试过第二次使用 Array DML

    FDQuery1.Params.ArraySize := QTE;
     for i := 1 to QTE do begin
     FDQuery1.ParamByName('REFBON').Value:=REFBON;
     ......
     FDQuery1.ParamByName('PUBON').AsInteger:=PUBON;

   end;
   FDQuery1.Execute(QTE, 0);

我遇到了同样的错误 [firedac][Phys][ODBC][Microsoft][SQL Server Native Client 10.0][SQL Server]触发器返回了一个结果集和/或在另一个未完成的结果集时以 SET NOCOUNT OFF 运行很活跃

我需要你的帮助

【问题讨论】:

  • 错误很明显。问题与一个触发器有关,当事件(插入、删除、更新)发生时,它会在服务器上自动执行。它必然与您的代码无关。与您的 DBA 讨论可能为您的表设置的触发器。
  • 服务器上没有触发器我以前的应用程序使用 bde (delphi 7) 在这里我使用 xe5 迁移到 fireac,我遇到了这个问题。
  • 服务器上没有触发器。我以前的应用程序使用 bde (delphi 7)。在这里,我使用 xe5 迁移到 fireac,我遇到了这个问题。该表实际上有 3 258 533 行,但在此功能中 bde delphi 没有问题。我还有另一件事在 bde 中不起作用,我决定使用 delphi XE5 迁移到 fireac。
  • 您是否尝试过直接在 SQL Server Management Studio 上执行 INSERT?检查您是否收到相同的错误?因为这严重看起来是服务器问题,而不是您的应用程序上的错误。您只需一分钟即可验证或排除。
  • 我已经直接在 Sql Server Management Studio 上进行了插入,但我没有错误。当我在带有 delphi 7 的 BDE 上使用我的应用程序时,我没有问题。我的问题是delphi XE5上的firedac。

标签: sql-server delphi firedac


【解决方案1】:

SQL Server 不再支持返回结果的触发器。

https://technet.microsoft.com/en-us/library/ms186337(v=sql.110).aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    • 1970-01-01
    • 2013-11-20
    相关资源
    最近更新 更多