アクセスは拒否されました

解決


ユッケ  2007-11-21 02:18:35  No: 28596

WindowsServer2003にSQLServer2005を入れ、

遠地のクライアントからターミナルサービスで接続し、
システムを動かし、データを読み出したり書き出したりしている時に
「アクセスは拒否されました。」
というエラーが出てきてしまいます。

ちなみにAAA.exeからBBB.exeを呼び出しています。
データは表示や書込みが出来るのですが、
稀に上記エラーが出てしまいます。

原因が分からず四苦八苦しています。
原因は一体何なんでしょうか?


ユッケ  2007-11-21 03:56:44  No: 28597

全く内容が変わります。

どうやらDBaseを使っていて、
何度もEmptyTableを行っているとエラーが出るみたいです。

でも環境は上記同様です。


HOta  2007-11-21 16:31:38  No: 28598

SQL Serverの設定で接続が切れるのでは内でしょうか?


ユッケ  2007-11-21 19:02:46  No: 28599

>>HOtaさん
DBaseはSQLServerとは関係ないみたいなのでそれはないとの言われました。


HOta  2007-11-21 20:09:23  No: 28600

状況がよくわからないのですが、SQLServer2005を入れる前までは、問題なかったのなら、とか、別の環境では動作していたとかでしょうか?


ユッケ  2007-11-21 20:30:37  No: 28601

>>HOtaさん
お客さんの所で動いている状態なんですが、
SQLServer2005導入時に同時にワークテーブル的な扱いで使っています。
CrystalReportでも同じくDBase(.dbf)を使ったりしています。

本社・・・サーバー機設置。
支社・・・ターミナルで本社のサーバーの中を見て、システム実行。

本社は特にエラーが出ないのですが、支社では出てきてしまいます。。。
ターミナルが悪いのか、WindowsServer2003との相性が悪いのか・・・(汗)

サンプルソースを貼り付けます。

{--------------------------------------------}
{|                  初期化                  |}
{--------------------------------------------}
procedure TAAA0101.DspClear;
begin
//初期化
  xNum1.Value  := 0;
  xNum2.Value  := 0;
  xField1.Text := '';
  xField2.Text := '';

//ワークテーブル初期化
  TTable1.Close;
  TTable1.EmptyTable;     ←←←ここで稀にエラーが出ます。
end;

DspClearは画面の初期化処理で、起動時や入力キャンセル時等に通ります。


HOta  2007-11-22 00:40:31  No: 28602

>本社は特にエラーが出ないのですが、支社では出てきてしまいます。。。
この環境の差は、ターミナルだと考えられます。
でも、ワークテーブルなら、それぞれのローカルでないとまずいのではないですか?
いろいろなクライアントから同じテーブルはまずいでしょう。


ユッケ  2007-11-22 19:25:07  No: 28603

>>HOtaさん
すみません書き忘れてました(汗)
EXEはサーバーの中のもので、テーブルはローカルです!!

やっぱりターミナルですよね・・・(汗)

EmptyTableをもう一度通すと普通に通るので、

CNT := 0;
while True do
begin
  Try
    Table1.EmptyTable;
    Break;
  except
    begin
      Inc(CNT);
    end;
  end;

  if CNT = 5 then
  begin
    メッセージ表示
    Exit;
  end;
end;

で5回まで繰り返すようなとりあえずの解決法にしておきました。
他の所でもこのような事が起こるか分からないのですが、
今のところその報告がないので対処待ち状態です!!

HOtaさん御親切にどうもありがとうございました。


ユッケ  2007-11-22 19:25:41  No: 28604

一応解決?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加