Gupta 3.0.0 | 166:无法创建前端结果集| Oracle

Gupta 3.0.0 | 166:无法创建前端结果集| Oracle,oracle,windows-7,guptateamdeveloper,Oracle,Windows 7,Guptateamdeveloper,使用Windows-7 Desctop、Oracle 12和旧的Gupta 3.0.0-PTF1,有时我会收到这个愚蠢的SQL错误消息 这是一个长期运行的程序,没有语法错误。一天一两次我都会收到这个。错误166实际上不是ORACLE SQL错误。据我所知,它来自Gupta或SQL路由器DLL 166:无法创建前端结果集 SQL查询如下所示。但这不是唯一的问题,也不是问题所在 If SqlConnect( lvhs ) If SqlPrepareAndExecute( lvhs, 'sel

使用Windows-7 Desctop、Oracle 12和旧的Gupta 3.0.0-PTF1,有时我会收到这个愚蠢的SQL错误消息

这是一个长期运行的程序,没有语法错误。一天一两次我都会收到这个。错误166实际上不是ORACLE SQL错误。据我所知,它来自Gupta或SQL路由器DLL

166:无法创建前端结果集

SQL查询如下所示。但这不是唯一的问题,也不是问题所在

If SqlConnect( lvhs )
    If SqlPrepareAndExecute( lvhs, 'select 1 into :lvZahl from dual' )
        If SqlFetchNext( lvhs, lvInd )

知道发生了什么吗?

1.尝试删除临时文件夹中累积的所有文件(路由器缓存临时文件中的行)

2.验证是否有足够的可用内存

3.确保你的应用程序有足够的权限访问临时文件夹。。。。ie.OS安全或非管理问题

4.如果不需要结果集,可以通过调用函数bOk=SqlSetResultSet(hSql,False)禁用前端结果集


5.如果您有多个应用程序同时运行,那么您可以通过调用函数为每个应用程序分配单独的临时目录。

在这个非常旧的Gupta TeamDeveloper版本中(我们现在升级到v7.1),前端结果集保存在临时文件夹中,但通常不会被删除。因此,随着时间的推移,它们在那里堆积起来,直到实际上没有空间容纳下一个。
您可以编写一个类,在应用程序关闭或建立新连接时遍历并删除旧的类,这样新连接就有空间创建新的.frs文件。最好还是将你的应用升级到TeamDeveloper v7.0,这样你就不会出错了

更新您的问题和相关代码。@GuptaSteve。感谢您的评论,但我们不会更新到新版本。我们尝试将所有内容重写到WebApplication。感谢第1点和第2点不是原因。temp不是空的,并且每个客户端都有8 GB RAM。“…不能出错…”仍然是每天一到两次,所以3次不能解释原因。但是4和5是可能的。在一周的测试之后,我可以说,第4点SqlSetResultSet(hSql,False)是我解决这个问题的方法。我的一些提示:如果Gupta应用程序在类变量中有很多Sql句柄,我经常会遇到“166:无法创建前端结果集”错误。若Gupta应用程序只有一个或两个全局Sql句柄,那个么得到的166:错误就很少了。所以最后。谢谢