ien*_*ens 8 sql-server delphi database-connection sql-server-2008-r2
我有一个使用DevArt的SDAC组件连接到SQL Server数据库的Delphi应用程序,我们有200个软件安装,只有客户,有些用户,我注意到以下错误:
"Connection is busy with results for another command" = "La connessione è occupata dai risultati di un altro comando".
SQL vers.:SQL Server 2008 R2 Express启用了文件流完全
我的应用程序创建了db用户和SQL帐户登录:
我没有运气就试过了:
如果您需要特定的信息,请告诉我
------------新信息------------
我从Studio Management更好地检查了所有Instance属性,我注意到没有检查CPU(见下图).
相反,在SQL Server的所有其他正常安装中,我看到填充复选框.可能是问题吗?
我希望这可以帮助你帮助我......
错误“连接正忙于另一个命令的结果”错误意味着至少有两个查询使用同一连接。如果您在多个线程中使用一个连接,则会出现此问题。要解决这种情况下的问题,您应该在每个线程中都有连接(TMSConnection组件)。此外,如果将TCustomMSDataSet.FetchAll属性设置为False,则可能会出现此问题。当FetchAll = False时,执行此类查询将阻止当前会话。为了避免阻塞,OLEDB创建了其他会话,该会话可能导致“连接正忙于另一个命令的结果”错误。若要解决这种情况下的问题,应将TMSConnection.Options.MultipleActiveResultSets属性设置为True。MultipleActiveResultSets属性启用对SQL Server多个活动结果集(MARS)技术的支持。它允许应用程序每个连接具有一个以上的待处理请求,尤其是每个连接具有多个活动的默认结果集。请注意,MultipleActiveResultSets属性仅在使用SQL Native Client时有效。因此,还应该将TMSConnection.Options.Provider属性设置为prNativeClient。
小智 5
只是想更正 dataol 的答案并说 MARS_Connection 应该设置为“是”而不是“真”以启用多个活动结果集。如果您使用的是 DSN 文件,至少在 SQL Server 2012 上:
[ODBC]
DRIVER=SQL Server Native Client 11.0
DATABASE=MYDBNAME
WSID=
Trusted_Connection=Yes
SERVER=
MARS_Connection=Yes
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
40201 次 |
最近记录: |