• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ローカルデータベースについて、質問なのですが。)

ローカルデータベースの選択に迷っています

このQ&Aのポイント
  • 開発言語:VB2005で、サーバをたててクラサバのプログラムを作成しようと思っています。サーバ機にはSQL Server2005を使い、クライアント機のローカルデータベースを迷っています。
  • 将来的にクライアントが増えることを考えると、SQL Serverをインストールするか迷っています。40台以上のインストールとアップデートが管理上大変そうです。
  • ローカルデータベースの代替案としてテキストデータやAccess MDBを考えましたが、いずれもプログラム作成において困難が予想されます。どうしたら良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.3

一般的にはサーバーにSQLServerを入れるならそこに一本化するべきでしょう。 パフォーマンスにもそれほど問題はないと思います。 ローカルデータベースというのがどういう意味で使われているのかよくわかりませんが、PC側のAccessからまるでAccessのDBのように見える方法があります。(プロジェクトを作成しリンクする) むしろこの方法のほうがSQLのマネージャより使いやすい。 (当然、SQLのマネージャでなければできないこともある)

その他の回答 (3)

回答No.4

こんにちは。 ワークテーブルの生存期間にもよりますが・・・。 アプリから接続して一つのトランザクション内で完結するような処理をするうえで、途中にワークテーブルを利用したいなら、トランザクションごとのメモリーテーブルでもいいような気がします。 コネクションが切れたら勝手に消えるし、ゴミも残らない。 接続単位でユニーク(他のユーザーは使えない)ので、名前だけ気を付ければ十分使えるかと・・・。 恒久的にワークテーブルとして残したい(データも含めて)なら、普通に作るしかないですねぇ・・・。 PC単位というより、システムのログインユーザー単位とかになるんじゃないですかね? ログイン処理が不要なアプリなら、クライアントプログラムごとにユニークなIDを持たせて(固定でもいい)、この単位で処理するとか・・・。 あるいはテーブルは分けないという考え方もあるかと思います。 データのプライマリーにユーザーIDや端末情報を埋め込めば、1テーブルで完結しますが・・・。 いずれにしてもワークテーブルを利用して、どのような処理が必要かが見えないので、なんとも言えませんねぇ・・・。

回答No.2

こんにちは。 よくわからないんですが・・・、 売上ワークのようなワークテーブルもサーバー側で持ってしまっては? クライアントで処理をさせなければならない理由が不明なんですが、DBはサーバーに一本化した方が、いろいろな意味でいいかと思います。

yanase11
質問者

補足

 やっぱりサーバのほうで完結したほうが良いですかぁ。 ワークテーブルの中でも区別したいのですが。これはPC-A用とPC-B用としたいのですが。 その場合、ワークテーブルの中身は同じでもテーブル名を変えればいいと思いますが。 taka451213さんはどうやって区別されてますか? コンピュータ名。IPアドレス付きのテーブル名とかですかね。 異なるクライアントが共通のワークテーブルを利用する場合どのように区別してますか?

回答No.1

こんにちは。 ローカルデータベースならクラサバじゃなくてクライアントプログラムでは? とりあえずローカルデータベースの用途が不明ですが、どうしても必要ならMDBでいいんじゃないですかね? ACCESSが100%入っている前提ですが・・・。 ローカルデータベースを使用しない方向では検討できないんですか?

yanase11
質問者

補足

ローカルデータベースの用途は、例えば、売上入力とかで、売上ワークにいったん入れて処理してから売上台帳に入れるような形です。やっぱりAccessが入ってないと駄目ですかねぇ・・・

関連するQ&A