- PR -

VB2005のマルチスレッド環境でACCESS(mdbファイル)への同時書き込み方法について

投稿者投稿内容
maru
ぬし
会議室デビュー日: 2003/01/27
投稿数: 412
投稿日時: 2007-02-23 18:34
こんにちは。

実運用の時点で、Jetはちょっと負荷がかかるとロックがかかっていないのにロックされ
ているとエラーが出たり、MDBが破損したり・・・。

昔、そんな泥沼状態のソフトをよくデバッグしました。
結局SQLServer(MSDE)を使ったほうが、安上がりで開発工数も短くすんだのでした。
今は改善されたのかな?
まいるどきゃっと
大ベテラン
会議室デビュー日: 2004/08/12
投稿数: 135
お住まい・勤務地: 群馬
投稿日時: 2007-02-24 07:03
本題と関係ありませんが……

引用:

あおいさんの書き込み (2007-02-23 13:21) より:

まだ工程に遅れはでていませんが、終電モードに突入し余裕がまったくありません;;



いやもう、それ遅れ出ていると思った方がいいですよ。
残業時間がある一定の時間を超え始めたら、日程的には予定通りでも「間に合っている」ではなくて「遅れが出始めている」って認識にして対策をとったほうが、後々幸せになれると思いますよ。
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2007-02-24 15:26
引用:

るぱんさんの書き込み (2007-02-23 16:06) より:
こんなかんじかなぁ?
誰か突っ込んで下さい。
コード:
class ConnectionSingleton{
	Connection con = null;
	boolean isUsing = false;
	String lastUsingClass = "";
	//ここは配列にして履歴でも良し。
	//でも、リソース食うのでとりあえずこんな感じ
	
	public Connection getConnection(String usingClassName){
		コンソール出力(this.lastUsingClass);
		this.lastUsingClass = usingClassName;
		Connectoin returnCon = null;
		if ( !isUsing ){
			returnCon = this.con;
		}
		return returnCon;
	}
	public void release(){
		isUsing = false;
	}
	
	private init(){
		if (this.con == null) {
			this.con = リソースからコネクションを突っ込む;
		}
	}
	
	/* Singleton処理 */
	private ConnectionSingleton(){
		init();
	}
}




こ、これは厳しい…
ちゃんと作るのは微妙に面倒なのであまりおすすめできないかと。

スキルアップ/キャリアアップ(JOB@IT)