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

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

ローカルデータベースについて、質問なのですが。

ローカルデータベースについて、質問なのですが。 開発言語:VB2005で、サーバをたててクラサバのプログラムを作成しようと思うのですが。 現状は、サーバ1台に,クライアント2台(XP・7)ですが。将来的にはクライアントは40,50台まで増える予定  サーバ機には、SQL Server2005を使い、クライアント機のローカルデータベース(ワークテーブル、一時テーブル) を迷っているのですが 将来、クライアントが増設されるあたりを考えると、 ・SQL serverを入れようか迷ったのですが。 40台でインストールとアップデートをするかと思うと後々管理が大変そう・・・   ・ローカルデータベースがわりにテキストデータも考えましたが・・・ やっぱりプログラム作成の部分で大変そう。 ・アクセスmdbを使い、ローカルデータベース代わりにと思ったのですが。 Accessが入ってない環境で試したことがないので、できるか未知数ですが。 ソフトのインストール自体は、フォルダごとXCOPYで設置するつもりなのですが。 規模によってマチマチかと思いますが。 台数が増えた場合を考慮した場合など。皆さんローカルデータベースはどうされているのでしょうか? 各パソコンに一々SQLserverをインストールされているのでしょうか? アドバイスをもらえたら幸いです。

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

  • ベストアンサー
  • 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

  • 他のローカルにあるデータベースに接続することは可能?

    Pc-1のローカルのSQLサーバーに置いてあるデータベースに Pc-2から接続することは可能ですか?(この2台はLANで接続されています) もし可能な場合、Pc-2にもSQLサーバーをインストールしなくてはダメですか? よろしくお願いします。

  • SQLクエリでデータベースが壊れる?

    AccessアプリでSQL Serverデータベースを更新しています。 データベースをODBCデータソースとして登録して、AccessdeそのODBCデータソースへのリンクテーブルを作っています。 データベースが何回か壊れたのですが、AccessVBAから発行したリンクテーブルへのSQLクエリでデータベースが壊れるようなことはあるんでしょうか? あるとしたら、そのクエリを発行すると必ず壊れると思うんですが・・・。 同じAccessアプリを使っても、データベースが壊れない環境もありますし・・・。 データベースが壊れた原因がわからなくて困っています。 Windows 7、SQL Server 2008 R2 Express です。

  • MSDEについて

    このサイトで色々勉強させて頂いたのですが、ご意見お聞かせください。 MDB、MSDE,SQLサーバーとデータベースがあった場合。 基本的にMDBはスタンドアロンで使用するものだと思っております。(数台のクライアントを繋げて使用するのには壊れやすい?) SQLサーバーはサーバー側にデータベースを持ち、複数台のクライアントを接続する場合に使用するという認識を持っております。 そこで、MSDEなんですが、オフィスプロに付属していて配布ができ、SQLサーバー互換ということが書いてあったのですが、やはりサーバー上にデータベースを持ってクラサバ型で使用するものなのでしょうか? 配布も無料とのことですが、SQLサーバーより不利な点としては何があるでしょうか? 接続台数は5~7台位になるかと思います。 コストを抑える事を考えると、SQLサーバーの変わりにMSDEを使用した方がベターなのでしょうか?

  • 複数データベースでのテーブル共有

    SQL Server初心者です。 下記のことが可能かどうか教えてください。 現在、社内ASP Webシステムが10個くらいあります。 バックエンドデータベースとしてAccessを使用していますが、ファイルサイズが数十メガになってしまったものもあり、これらをすべてSQL Serverに移行しようと考えています。 Accessでは、複数のデータベースで共有したいテーブルがある場合、リンクテーブルとして共有できるため、これらのWebシステムでも社員情報テーブルをすべてリンクテーブルで共有しておりました。 SQL Serverに移行した場合、Accessのようにテーブルを共有することはできるのでしょうか? ご教授のほどよろしくお願いします。 バージョン: SQL Server 2000

  • データベースの設計方法について

     全くの初心者で、いろいろな書籍を参考に販売・在庫管理データベースをつくりたいと勉強しています。  環境はMicrosoft SQL Server 2008 R2 EE をサーバーにインストールして、別のクライアントパソコンから SQL Server Management Studio でデータを作成しています。  データベースとは閉じた空間で、1つのデータベース内で必要なテーブルを全て用意するものと思っていました(参考にした書籍もそうなっていました)。  しかし、ネットでいろいろ調べるとインスタンス内に複数のデータベースを作成し、それらデータベース内のテーブルは相互接続可能出来るみたいでした。  となると、データベースを設計する際 <販売管理データベース>  ・顧客情報テーブル  ・商品情報テーブル  ・在庫テーブル  ・単価テーブル  ・請求データテーブル  ・伝票テーブル  ・etc.  と1つのデータベースに全てのテーブルを用意する設計では無く <販売管理データベース>  ・伝票テーブル  ・請求データ  ・etc. <顧客情報データベース>  ・顧客情報テーブル  ・単価テーブル  ・etc. <商品情報データベース>  ・商品情報テーブル  ・在庫テーブル  ・etc.  みたいに、機能ごとにデータベースを分けて、インスタンス単位で1機能(もしくは複数機能の実装)の設計でも良いのでしょうか?  プログラム言語の、プロジェクト=インスタンス、クラス=データベースみたいな考え方が出来ればと思っています。  この方法が正しいのか誤りなのか、そもそも理解に誤りがあるのか全く見当が付きません。  一般的にはどのようにするものなのでしょうか?

  • ドメイン構成でのローカル専用のAdministratorについて。

    ドメイン構成でのローカル専用のAdministratorについて。 自社サーバの管理をしております、今までは全て自分一人で各設定やインストール作業を行ってきたのですが、 私自身が外出している事が多くなってきた事もあり、一部の管理を特定のユーザーに移管したいと思っております。 経営者の指示もあり、完全なアドミニ権限は渡せないのですが、クライアント機に対する操作に限って アドミニと同じように振舞える権限の設定が出来ないかな?っと考えております。 以下のような権限を持つユーザー(もしくはOU)を作りたいのですが、良いやり方はないでしょうか? ・クライアントマシンへのソフトウェアやDriverのインストールは出来る。 ・クライアントのローカルドライブのアクセス権やセキュリティ設定は自由に変更できる  (クライアントマシンに対してはアドミニ同等をイメージしております) ・Server機でのインストールや、GPOの変更等の操作は出来ない。 ・ファイルサーバ(Serverのローカルドライブ)のアクセス権やセキュリティ設定は変更でき無い。 ・Server機のロックの解除は出来無い。 Server機は2台有り、どちらもWindows2003Server R2のスタンダードで、 シングルドメイン・アクティブディレクトリで、移動プロファイルを利用しております。 ServerA ファイルサーバ、DC、DHCP、DNS、プリントサーバ、WSUS、操作マスター。 ServerB ファイルサーバ、DC、DHCP、DNS、プリントサーバ、WSUS、SQL。 クライアントマシンは全てWindowsXP Pro SP3となっております。

  • ACCESS 2.0の業務用アプリケーションとACCESS データーベースウィンドウズよりのDBへの直接操作について

    ACCESS 2.0の業務用アプリケーションが稼動している時にACCESS 2.0のデーターベースウィンドウズでopenした削除クエリー等でテーブル等を操作することはACCESS 2.0のアプリケーション(及びデーターベース、テーブル等)を破壊する事があるのですか?サーバーにテーブル、クライアント3台にアプリケーションのシステム環境です。宜しくお願いします。

  • データベースは何が良いでしょうか?

    現在、データベースを使用するシステムを構築しようとしています。 現在、想定している環境は、以下の通りです。 1.Windows2000上で動作する。 2.データベースの読み書き用のプログラムは、VB.NETを使用して開発する。 3.テーブルのレコード数は最大1000×365=約37万件 (1000件の顧客で、356日分のデータ) 4.1顧客につき、1月単位、1日単位でデータの表示及び印刷を行う。 現在、データベースの候補として、 ACCESS SQLサーバー オラクル MySQL等を想定しています。 私としては、パフォーマンス的に問題ないならACCESSにしたい。問題があるならSQLサーバーにしたいと考えております。理由は、VB.NETに合うのは同じマイクロソフトの製品だろうという漠然としたものです。また、ACCESSが一番簡単でてっとり早いような気がしたからです。 上記の中で、お薦めのデータベースがありましたらコメントください。またその理由もお願いします。(上記以外でもかまいません)

  • データベースを使わず、テキストファイルで・・・

    SQLサーバーとかを使わずに、テキストファイルで 多人数がアクセスするプログラムを作成しました。 テキストファイルを開くときは、もちろん排他的 ロック、アンロックしていますが、心配なところです。 SQLサーバーなどを使わないで多人数(~10人程度)が 利用するプログラムはテキストファイルが壊れやすい でしょうか? 将来的には、やはりなんらかの安価なデータベースを使っ たWEBアプリに改変予定ですが、それにはどういったサーバ がおすすめでしょうか?また、作成のコツなどを教えて ください。昔、VBとSQLサーバーで社内システムを構築 した経験はありますが、離れているので技術力は 乏しいです。

    • ベストアンサー
    • Perl
  • Oracle10g・・ODBCで接続できない

    Oracle10gのStandardEditionをサーバーにインストールし、データベースを作成しました。 それに対してクライアントにも10gをインストールし、ローカルメソッド名を設定して、接続テストも通りました。SQL*Plusを起動して接続することもできました。 ですが、Accessを使ってテーブルの中身を見ようと思い、ODBCを設定したのですが接続テストをすると固まってしまいます。どうすればODBCで接続できるようになるのでしょうか?

専門家に質問してみよう