使用Foxpro表时出现错误7216

2020-09-08 19:22发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


在安装ADS v12之后,我开始出现7216错误。 解决方案似乎是向HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Advantage \ Configuration添加值为0的注册表项SQL_STATEMENT_LIMIT。 我在ADS服务器上执行了该操作,然后重新启动了ADS,但是仍然出现错误。 与该解决方案相关联的Foxpro免费表是否存在问题? 另一种解决方案是在连接上执行存储过程sp_SetStatementLimit(0),但是我不知道如何在Foxpro表上执行存储过程,因为我认为您需要ADS数据库才能执行存储过程。 使用Foxpro表时,有没有一种方法可以消除7216错误?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


在安装ADS v12之后,我开始出现7216错误。 解决方案似乎是向HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Advantage \ Configuration添加值为0的注册表项SQL_STATEMENT_LIMIT。 我在ADS服务器上执行了该操作,然后重新启动了ADS,但是仍然出现错误。 与该解决方案相关联的Foxpro免费表是否存在问题? 另一种解决方案是在连接上执行存储过程sp_SetStatementLimit(0),但是我不知道如何在Foxpro表上执行存储过程,因为我认为您需要ADS数据库才能执行存储过程。 使用Foxpro表时,有没有一种方法可以消除7216错误?

付费偷看设置
发送
8条回答
追夢秋陽
1楼-- · 2020-09-08 19:24

注册表选项仅影响数据库服务器,因此,即使将表添加到字典中并加载到服务器上,本地服务器连接也不会读取该设置。

如前所述,sp_SetStatementLimit (0)仅适用于数据字典,因此,如果您继续以自由表的形式访问该表,则将无法调用SP。

尝试编辑adslocal.cfg。 添加SQL_STATEMENT_LIMIT = 0并保存文件。 下次对本地服务器的访问应遵循新设置。

Violet凡
2楼-- · 2020-09-08 19:23

我真的需要一些帮助。 我将问题缩小为反复调用的方法,对表中的每个记录一次,以检查问题并将描述写到用于报告的临时表中。 我认为关闭和重置连接可能会有所帮助,并且在某些工作站上可以,但在其他工作站上却没有。 我认为问题可能与连接上的缓存表有关(实际上连接上只有一个表,但是该表可以接收很多SQL请求)。 每次输入方法时,我都尝试使用connection.CloseCachedTables(),但这似乎无济于事。 如果关闭并重新打开连接并强制关闭任何缓存的表不是解决方案,那么我不知道如何进行。 我真的需要解决这个问题,因为它正在阻止该程序的测试并继续开发新模块。

我想到的另一个想法是-如果经历创建ADS数据库的过程,然后将Foxpro表添加到该数据库中(我通过文档了解到这样做不会阻止从Visual Foxpro程序访问表 当前正在使用它们),也许我然后可以在连接上使用sp_SetStatementLimit(0),这实际上可以消除问题。 这是可行的选择吗?

wang628962
3楼-- · 2020-09-08 19:44

感谢您的回复! 实际上,我已经将V12安装为数据库服务器,与将V11作为本地服务器加载到Dev工作站上的V11不同。 我在数据库服务器上做了注册表选项,似乎没有用。 在我看来,我应该尝试为VFP表创建数据库,为我提供更多选择。 只要表格对VFP仍然可用,我很高兴。 我之所以推迟,是因为仅此模块中就有44个表(总共超过100个表),我不想花费时间来建立数据库,除非它产生了有用的结果。

无论如何,注册表项似乎确实存在问题,因为它与更改SQL语句限制和VFP可用表有关。

huskylover
4楼-- · 2020-09-08 19:35

我可以确认设置注册表值不会 更改由sp_mgGetConfigInfo()报告的SQL语句限制。 我将报告给我们的开发人员。

如果将表添加到数据字典中并通过DD连接,则可以调用sp_SetStatementLimit()和其他存储过程。 只要在配置实用程序或注册表中启用了非独占专有锁定,其他应用程序仍将能够打开表。 但是,如果该表具有索引,并且第三方应用程序修改了该数据,则索引将损坏,并且该表将需要重新索引。

hongfeng1314
5楼-- · 2020-09-08 19:23

我认为我已经复制了 至少不如sp_mgGetConfigInfo()报告的那样,不遵守SQL_STATEMENT_LIMIT的问题。 但是,事实证明我不小心建立了本地连接,而不是远程连接。

您确定要与服务器建立远程连接吗? 仅安装ADS不会自动更改连接参数。 启用远程连接的语法会根据您所使用的IDE而有所不同。

SC_Yao
6楼-- · 2020-09-08 19:41

是-我正在使用远程-实际上我在程序运行时关闭了本地服务器 只是为了确定,程序继续访问表。 我最好还是现在关闭本地服务器,因为我现在仅使用远程服务器,以便更好地处理速度和计时问题。

一周热门 更多>