Windows7+DelphiXEを使ってプログラムを書いております。
Windowサービスでexeを常駐させて、特定フォルダにdatファイルが生成された時に、その中身をSQLServer2008で管理してるDBに反映させるプログラムを作ってます。
実際に動かすと「モジュール 'rtl150.bpl' のアドレス XXXXXXXX でアドレス XXXXXXXX に対する読み取り違反がおきました。」と言われサービスが止まってしまいます。
色々と調べた結果、データベースとサービスとの間での速度が関係してるようで、容量の重いデータベースや、他プログラムなどを一定時間動かしてメモリがある程度使われた状態で動かしたら正常に動きます。
データベース接続にはADO接続を使ってます。
データベースに接続をしたり、データを書き込む前などにSleep関数で一定時間停止させても効果がありません。
何か良い解決策があったらご教授お願いします。
実行時パッケージを使って再構築するのに「rtl」があったので削除したらエラーは出なくなりましたが、違う問題が発生しました
ツイート | ![]() |