首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由tadodataset生成的不需要的集合NO_BROWSETABLE

由tadodataset生成的不需要的集合NO_BROWSETABLE
EN

Stack Overflow用户
提问于 2016-02-25 06:57:08
回答 1查看 4.6K关注 0票数 2

在我的this应用程序中,tadodataset有一个问题,我在分析器中看到,我的所有查询都是从SET xe2开始的,在sql server中重新编译存储过程和函数,有人能告诉我如何禁用这个选项和示例代码吗?

ADODataSet1.Close;ADODataSet1.CommandText :=“从mytable中选择*”;

和结果分析器:在mytable中选择*设置NO_BROWSETABLE

EN

回答 1

Stack Overflow用户

发布于 2016-02-25 16:41:16

您的问题似乎意味着,SET NO_BROWSETABLE ON只是在更改为最近的Delphi版本之后才开始的。

如果这就是你的意思,我不确定你的观察是否准确,至少我不能重现一个用目前的德尔福版本编译的应用程序,XE10西雅图和德尔福7之间的行为差异,这是NO_BROWSETABLE 15年来发展起来的。

我有一个Sql Server 2014的实例运行在这台机器上,它是Windows 10 Pro 64位。如果我编译并运行一个使用select * from sometableTAdoQuery执行简单SET NO_BROWSETABLE ON的最小Delphi西雅图项目,Server的Profiler将显示MDac层发送SET NO_BROWSETABLE ON,就像您一样。然而,如果我在Delphi7中编译和运行完全相同的项目,我得到的是在分析器中显示的完全相同的语句--如果应用程序是在D7或西雅图编译的,则没有任何区别。

这是将光标位置设置为clUseClient的情况。如果我使用SET NO_BROWSETABLE ON,则不会出现clUseServer。在使用DBExpress和TSqlQuery的最小TSqlConnection应用程序中也不会出现这种情况,因此也可能使用服务器端游标。

有关NO_BROWSETABLE的更多信息,请参见这里

https://support.microsoft.com/en-us/kb/885146

我正在使用Microsoft OLE DB Provider for Sql Server。虽然这被MS认为是不可取的,但与其ODBC或“本地客户端”提供程序相比,我始终没有遇到太多的麻烦。

您可能还想看看这个,所以q:

BROWSETABLE / set fmtonly queries in VB6

顺便说一句"xe9“。你是说XE8还是德尔菲西雅图还是什么?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35620407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档