
こんにちは。
みなさんならAccessかSQLServerの、どちらのDBを使うかご意見ください(出来ればメリットやデメリットなどもあるとうれしいです)
<環境>
サーバー:Win2000Server、Access2000または、SQLServer7.0
クライアント:Win2000 ×10台
開発環境:VB6.0(SP5)、Win2000
<やりたいこと&悩み>
1)複数のパソコンからDBのデータをSelect、Insert、Update、Deleteする
2)データが多いので、Accessの場合は3つくらいのmdbに分けないといけない(Accessのサイズ上限を超えてしまう為)。分けた場合は、リンクテーブルが必要。データ数は、1ヶ月に3万件くらい
3)タイミングによっては、同時アクセスあり
4)AccessをDBとして試作品を作成したところ、ファイルをロックできませんでしたというエラーが1日1回程度でてしまう
5)SQLServerでは気軽(?)にユーザーがメンテナンスできない(Accessの知識は多少あり)
このような感じですが、みなさんならどちらを選択されますか?ご意見よろしくお願いします。
No.3ベストアンサー
- 回答日時:
それだけの規模のクラサバシステムを構築するのであれば
SQLServerにしておくべきでしょう、というよりも
ACCESSでは危険が大きすぎます。
SQLServerと比較した場合のACCESSのデメリットとして
・データベース(mdbファイル)が破損する危険が大きい
・レコード件数が増えることによるレスポンスの低下が激しい
・ユーザー権限、アクセス権限などを管理する機能が乏しく
マルチクライアントからの利用には向かない
・データベースの保守、管理機能が乏しく、 データベースの
バックアップ等もmdbファイルそのものをコピーするぐらいしかない
などが挙げられます。
ACCESSのmdbは、マルチユーザー・マルチクライアントの
システムを管理できるほど高性能なデータベースではありません。
ACCESSで管理できるデータベースは、スタンドアロンや
もっと小規模なシステム(クライアント2~3台程度)ぐらいが限界でしょう。
早速の回答ありがとうございます。
実は試作段階で、すでにmdb破損しました(^^;サイズが2Gを越えたあたりで、開けなくなってしまいました。<それで3つくらいに分割しないと・・・となったのですが。比較してみると、結構Accessってデメリットが多いですね。参考になりました。
No.5
- 回答日時:
SQLServerが良いと思います。
1)複数のパソコンからDBのデータをSelect、Insert、Update、Deleteする
小規模のシステムならAccessでも良いと思いますが想定されるレコード総数などで判断すればSQLServerかなと思います。
2)データが多いので、Accessの場合は3つくらいのmdbに分けないといけない・・・
AccessでDB自体を分割して使うよりはSQLServerで管理した方がメンテナンスもやり易い。
5)SQLServerでは気軽(?)にユーザーがメンテナンスできない(Accessの知識は多少あり)
メンテナンスの面でしたらAccessの知識があればSQLServerからODBCを使いODBCデータベースとしてAccessのテーブルにリンクさせればAccess上で簡単にメンテできます。
mdbの使い方・構築のしかたでかなりAccessは使えるようになりますがそこまで創り込むのでなければSQLServerの方が安全ではないでしょうか。
回答ありがとうございます。
SQLServerの知識がなくても、Accessにテーブルリンクならマスタ登録など、ユーザーでもできそうですね。参考になりました。
No.4
- 回答日時:
以前アクセスのDBをネットワークで共有して使っていたことがありますが、
遅いし、クライアントが複数の時おかしくなるしで使うのをやめてしまいました。(PostgreSQLを入れました)
複数のユーザーから使うのであれば
DBサーバーを立てるのが良いと思います。
回答ありがとうございます。
複数の時おかしくなってしまうのなら、Accessではダメですね。今回、10台くらいのPCから頻繁にデータを読み書きする予定なので・・・。
No.2
- 回答日時:
DBはSQLを使った方が後々よいかと思います。
アクセスのちんたらした速度ではファイルが膨大になった時に仕事にならないかもしれないからです。
先月まで鹿児島で官公庁向けの仕事をしていましたけど、アクセスで1万件超えたデータをソートするだけで、タバコを吸うだけの時間が掛かってしまいました。(作り手がへたくそだからかな?)
時には複雑すぎて処理できませんなどのメッセージも現れ、「むむ!簡単なSQL文のはずだが」と思いつつもSQLを分割して仮のテーブルを作り、そのテーブルを参照してSQLを流す、2分割方式を取って処理を行ったり・・・
初心者でも簡単と言われるアクセスですが規模と用途によって無茶苦茶使いにくいことも事実?(使いこなせてないだけ?)
よって、SQLサーバ7.0がお勧めです。
動きは速いし、SQL文が豊富だし、下手なエラーがでない。
メンテナンスと言っても、SQLを知らなくてもクライアントの操作でSQLのほとんどをカバーできるアプリを作っておけばメンテナンスも楽勝でしょう。
早速の回答ありがとうございます。
Accessは最適化しないと、どんどん膨らみますよね。やっぱり遅いですか。2分割方式はやりたくないですね(>_<)参考になりました。ところで、官公庁向けの仕事ってすごいですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access DAOのExecuteメソッドのオプション(RecordsetOptionEnum)に 1 2022/09/19 07:34
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- その他(データベース) Microsoft Accessについて 1 2022/06/06 16:20
- その他(プログラミング・Web制作) Accessの代わりのノンプログラムデータベース作成 4 2022/10/21 09:26
- Access(アクセス) 本日、会社のパソコンでAccessを開いたとき ウイルス警告のようなものが出ていました。 毎日Acc 3 2022/10/18 23:33
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- Access(アクセス) Accessのリンクテーブルのパスを相対パスにする方法について教えて頂きたいです 1 2023/02/08 13:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
型 varchar から型 numeric へ...
-
エクセルのフォームについて(...
-
POSTGRESQLにEXC...
-
エクセルの行数が限界です。
-
ハイフン無しの電話番号データ...
-
オラクルのLONG RAW型のテーブ...
-
OpenOfficeのBaseでExcelのデー...
-
データのインポートに失敗します。
-
カンマ区切りで格納するカラム...
-
外部データ取り込みのAccessへ...
-
データベースの最適化をマクロ...
-
データベースの2GBって・・・?
-
ODBC経由の処理が遅い
-
アクセスのデータがブッ壊れた...
-
データベースに接続したままの...
-
エクセルを取引先に渡したら何...
-
JavaとOracle Javaって何が違う...
-
CSEでDB接続しようとすると...
-
VPNでデータベースに接続した時...
-
キャッシュとバッファの違いは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
型 varchar から型 numeric へ...
-
エクセルのフォームについて(...
-
ハイフン無しの電話番号データ...
-
オラクルのLONG RAW型のテーブ...
-
エクセルの重複データの曖昧検索
-
ACCESSで条件付き書式の設定方法
-
OpenOfficeのBaseでExcelのデー...
-
カンマ区切りで格納するカラム...
-
データのインポートに失敗します。
-
【ACCESS】複数のパソコンから...
-
DBとテキストファイルの比較
-
【パフォーマンス】ファイル読...
-
別のACCESSデータベースのテー...
-
AccessとPowerPointの会社と家...
-
エクセルの行数が限界です。
-
POSTGRESQLにEXC...
-
98のデータをvistaにUSB接続...
-
なぜMySQLを使うのか。
-
最適なデータベースソフト
-
栄養成分を計算する簡単なソフ...
おすすめ情報