古普塔 3.0.0 | 166: 无法创建前端结果集 |甲骨文

Gupta 3.0.0 | 166: Cannot create a front-end result set | Oracle

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

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

166: Cannot create a front-end result set

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

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

知道发生了什么事吗?

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

2.Verify 有足够的可用内存。

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

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

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

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