2017-02-20 11 views
0

Windows-7のDesctop、Oracle 12、古いGupta 3.0.0-PTF1を使用して、この愚かなSQLエラーメッセージが表示されることがあります。Gupta 3.0.0 | 166:フロントエンドの結果セットを作成できません。 Oracle

これは長期間実行されているプログラムであり、構文エラーはありません。 1日に1,2回、私はこれを手に入れます。エラー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) 

何が起こっているのですか?

+0

質問とその関連コードを更新してください。 – scaisEdge

答えて

1

1.Try Tempフォルダに蓄積されたすべてのファイルを削除します(ルータは一時ファイルの行をキャッシュします)。

2.十分なメモリがあることを確認してください。

3.あなたのアプリが一時フォルダにアクセスするための十分な権限を持っていることを確認してください.... ie.OSのセキュリティまたは管理外の問題。

は4.Youはフロントエンド結果が必要とされない場合の結果セットの機能BOK = SqlSetResultSet(HSQL、偽)を呼び出してを設定無効にすることができます。

5.複数のアプリケーションを同時に実行している場合は、関数SetEnvironmentVariableA()を呼び出すことによって、アプリケーションごとに個別のTEMPディレクトリを割り当てることができます。

+0

ありがとうポイント1と2は理由ではありません。 tempは空ではなく、すべてのクライアントには8 GBのRAMがあります。 "...エラーはできません..."はまだ1日に1〜2回なので、3は理由がありません。しかし、4と5が可能です。私はこれをチェックし、後で戻ってくるでしょう。 – twyly

+1

1週間のテストの後、私は、この問題のための私の解決策は、ポイント4 SqlSetResultSet(hSql、False)と言うことができます。私からのヒント: Gupta-Applicationがクラス変数にSqlハンドルをたくさん持っている場合、この "166:フロントエンドの結果セットを作成できません"というエラーが頻繁に発生します。 Gupta-Applicationが1つまたは2つのグローバルなSqlハンドルを持っている場合、私は非常に少ない166:Errorsを得ます。だから最後に。ありがとう! – twyly

0

この非常に古いバージョンのGupta TeamDeveloper(現在v7.1まで)では、フロントエンドの結果セットはTempフォルダに保持されていましたが、削除されないことがよくありました。だから、文字通り次のスペースの余地がなくなるまで、時間の経過とともにそこに築かれます。 アプリケーションをシャットダウンするか、新しい接続が行われたときに古いものを削除して削除するクラスを作成すると、新しい接続で新しい.frsファイルを作成する余裕ができます。あなたのアプリをTeamDeveloper v7.0にアップグレードしても間違ってはいけません!

+0

@ GuptaSteve。ご意見ありがとうございますが、新しいバージョンにアップデートすることはありません。 WebApplicationにすべてを書き直そうとしています。 – twyly

関連する問題