- - PR -
mdbファイル同時アクセス時のエラー処理について
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-11-30 19:27
現在C/S環境でサーバーにmdbファイルを置き、そのテーブルだけを参照してフォーム等は全て.NETで作成するアプリケーションを考えております。
(.NETで作成した実行ファイルをそれぞれのクライアントに配置) クライアント数は10台以下で扱う情報もさほど重要ではありませんが、データの更新・追加もあるため排他処理が必要なのだろうと思うのですが、どのような処理が一般的なのか良く分かりません。 初心者で申し訳ないですが、通常どのような処理をするのが宜しいのでしょうか? また、このような規模でサーバーのmdbファイルのテーブルを参照・更新するような事は正しい事なのでしょうか? ご回答宜しくお願い致します。 やりたい事はクライアントからは同時に複数台からmdbファイルのテーブルが参照出来る状態で、更新・追加のさいは何か排他処理がかける?ような事がしたいと思っております。 開発環境:VS2003 .NET 使用言語:VB | ||||||||||||
|
投稿日時: 2006-11-30 19:30
MDB であれば、トランザクション処理オンリー。
ローカル以外の使用用途であれば、私ならば MSDE (無償) などを使いますね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-11-30 19:59
スタンドアロンと思って作っていたのがデータが多過ぎて一時的に2台で・・というケースはありましたが、その時はトランザクションだけ落とすように書き替えました。更新処理は後回し(トランザクションから)でないと怖くて。一時的な集計処理だけだったので何とかなりましたが(汗)。 私もじゃんぬねっとさんと同じで、同時に複数台からとわかっているのであれば最初からMSDE(SQLServer2005/ExpressEdition)を使うべきだと思います。 | ||||||||||||
|
投稿日時: 2006-11-30 20:04
ご回答ありがとうございます。
じゃんぬねっとさんの回答によりますとmdb使用の場合は処理が成功したか、失敗したかしか確認できないという事でしょうか? やはり、無償のSQLServerを使用した方が良いのでしょうね。 OLACLEの経験はあるのですがSQLServerの経験が無く、まして一人で一からDB構築の経験も無い為不安です。 SQLServerなら排他処理が可能と言う事でしょうか? | ||||||||||||
|
投稿日時: 2006-11-30 20:43
いえ、トランザクション処理だけでいくのが一般的だという意味です。 ('オンリー' から、"成功したか、失敗したか確認できない" を読み取ってしまうとは...)
Oracle よりは簡単だと思います。 無償に拘るのであれば、PostgreSQL などでも良いでしょう。
排他処理が不可能だから、薦めているわけではありません。(不可能ではないですから) MDB は同時アクセス自体に向いていないという意味です。 最悪ファイルが壊れてしまうことがあります。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-11-30 21:06
やって出来ないわけではない・・のはたしかですが、怖くてやりたくないというのも事実でしょうね>mdb。
http://office.microsoft.com/ja-jp/access/HP052408601041.aspx?pid=CH062526671041 http://www.ruriplus.com/msaccess/Exp/exp0160.htm http://www.naboki.net/access/achell/achell_01.html http://www.naboki.net/access/achell/achell_02.html | ||||||||||||
|
投稿日時: 2006-12-01 00:43
皆様ご回答有り難う御座います。
やはりSQLServerに挑戦してみようかと考えが固まってきました。 ただ、一点教えて頂きたいのですが、たしかオラクルの場合はクライアントPCにもオラクルクライアントをインストールしていたと思うのですがSQLServer2005/ExpressEditionの場合もクライアント側に何かインストールする必要があるのでしょうか? ご回答宜しくお願い致します。 | ||||||||||||
|
投稿日時: 2006-12-01 02:06
SQLServer2005をダウンロード・展開すればinstallフォルダにNativeClientも含まれていたと思います(sqlncli.msiだったかな)。OLEDBでの接続ならMDACでも良かったかと。 #自信なしなのでツッコミ希望(汗 |