Гупта 3.0.0 | 166: Невозможно создать внешний набор результатов | оракул

Используя Windows-7 Desctop, Oracle 12 и старый Gupta 3.0.0-PTF1, иногда я получаю это глупое сообщение об ошибке SQL.

Это долго работающая программа, в которой нет синтаксической ошибки. Один или два раза в день я получаю это. Ошибка 166 на самом деле не является ORACLE SQL-Error. Насколько я знаю, это исходит из DLL Gupta ORA SQL-Router.

166: Невозможно создать внешний набор результатов

SQL-запрос выглядит следующим образом. Но это не единственная и не проблема.

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

Есть идеи, что происходит?

2 ответа

Решение

1. Попробуйте удалить все файлы, которые накапливаются в папке Temp (маршрутизатор кэширует строки во временном файле).

2. Убедитесь, что памяти достаточно.

3. Убедитесь, что у вашего приложения достаточно прав для доступа к временной папке.... т.е. проблемы с безопасностью или отсутствием прав администратора.

4.Вы можете отключить внешний набор результатов, вызвав функцию bOk = SqlSetResultSet (hSql, False), если набор результатов не требуется.

5.Если у вас одновременно запущено несколько приложений, вы можете назначить отдельные TEMP-каталоги для каждого приложения, вызвав функцию SetEnvironmentVariableA ().

В этой очень старой версии Gupta TeamDeveloper (мы до версии 7.1 сейчас) наборы результатов Front-End хранились в папке Temp - но часто не удалялись. Таким образом, они накапливаются там в течение долгого времени, пока нет места буквально для следующего. Вы можете написать класс для просмотра и удаления старых, когда приложение закрывается или устанавливается новое соединение, поэтому у новых соединений есть место для создания нового файла.frs. Еще лучше обновить приложение до TeamDeveloper v7.0, и вы не ошибетесь!

Другие вопросы по тегам