0

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

这是一个长时间运行的程序,没有语法错误。一天一两次我得到这个。错误 166 并不是真正的 ORACLE SQL 错误。据我所知,它来自 Gupta ORA SQL-Router DLL。

166:无法创建前端结果集

SQL 查询看起来像这样。但这不是唯一的问题,也不是问题所在。

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

知道发生了什么吗?

4

2 回答 2

0

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

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

3.确保您的应用程序有足够的权限来访问临时文件夹......即操作系统安全或非管理员问题。

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

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

于 2017-03-17T12:10:19.150 回答
0

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

于 2017-03-17T23:03:23.550 回答