有时使用Windows-7 Desctop,Oracle 12和旧Gupta 3.0.0-PTF1,我收到这条愚蠢的SQL错误消息。
这是一个长时间运行的程序,没有语法错误。我每天有一两次这样做。错误166实际上不是ORACLE SQL-Error。据我所知,它来自Gupta ORA SQL-Router DLL。
166:无法创建前端结果集
SQL Query看起来像这样。但这不是唯一的,也不是问题。
If SqlConnect( lvhs )
If SqlPrepareAndExecute( lvhs, 'select 1 into :lvZahl from dual' )
If SqlFetchNext( lvhs, lvInd )
知道发生了什么事吗?
答案 0 :(得分:1)
1.尝试删除Temp文件夹中累积的所有文件(路由器缓存临时文件中的行)。
2.确认有足够的可用内存。
3.确保您的应用有足够的权限访问临时文件夹.... ie.OS安全性或非管理员问题。
4.如果不需要结果集,可以通过调用函数bOk = SqlSetResultSet(hSql,False)来禁用前端结果集。
5.如果您同时运行多个应用程序,则可以通过调用函数 SetEnvironmentVariableA() 为每个应用程序分配单独的TEMP目录。
答案 1 :(得分:0)
在这个非常古老的Gupta TeamDeveloper版本中(我们现在直到v7.1),前端结果集保存在Temp文件夹中 - 但通常不会被删除。因此,随着时间的推移,他们会在那里积聚,直到下一个人没有空间。 您可以编写一个类来完成并删除旧类,当应用程序关闭或建立新连接时,新连接可以创建新的.frs文件。最好还是将你的应用程序升级到TeamDeveloper v7.0,你就不会出错!