- ベストアンサー
SQL ServerとACCESSの関係
ACCESSでは2GBの壁があるので、SQL Serverの導入を 検討しております。以下の事項についてご教示いただき たく思います。 1.価格帯 2.操作性(SQL Serverでクエリー等作成する場合は、 ACCESSと同様なユーザインタフェースなのか?) 3.ACCESSとの関係(もしSQL Serverに上記のような操作 画面/ツールがある場合、どのようにACCESSと連携する のか?) 4.ACCESSから操作する場合の問題点や間違い易い事項等 関連URLだけでも結構です。宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
SQL Server2000とAccess2000以上と仮定します。 1.価格はSQLServerの分は高価ですね。MSDEやXPのSQLServerPersonalEditionは無償ですがやはり2GBの壁があります。 2.3.ODBCを使わずにAccessのプロジェクト(ADP)を使用します。ADOで接続するようになるためパフォーマンス的にはこの方がいいと思いますよ。XPだとAccessのテーブルやクエリーと同じようにGUIでSQL Server内のテーブルやビューを編集できます。Access2000だとSQLServer7.0互換ですので全ての操作が出来るわけではないようです。 4.プロジェクト(ADP)を使う場合、連結フォームや連結レポートレベルだと余り意識せずに使えるかと思いますが、VBAから直接レコードセットを操作したりする処理が全然違ってきます。MDBの場合複数のDBからテーブルをリンクすることができますが、ADPの場合はSQLServerの1つのDBからしかリンクを貼る事が出来ません。 自分の場合、マルチユーザーで使う時にローカルにワークテーブルを配置するなど出来なくなったのでその辺は苦労しました。
その他の回答 (2)
- stork
- ベストアンサー率34% (97/285)
問題になっているのはパフォーマンスや安定性ではなく、サイズだけですか? >ACCESSでは2GBの壁があるので... それって今のバージョンでもありましたっけ?(不正確) 仮にあったとして、ひとつのmdbファイルに付き2GBなんで、大きなテーブルは一個の独立したmdbにします。さらにレポートやフォームを集めたmdbを作成して、テーブルは先ほどのmdbにリンクします。この方法ですと、1テーブルで2GBまで使えるので、トータルでみるとかなり大きなDBが作成出来ます。画像など、これでも間に合わない場合はテーブルを適宜分割すると良いのではないでしょうか。 (ネットワークの付加や同時接続ユーザー数、パフォーマンス、安定性が問題になっている場合は上記の方法は使えません。)
お礼
ありがとうございました。確かに現実的な回答でした。 ただ、結構1テーブルが巨大で1GBを平気で越すような 場合もあるので、やはりSQL Serverの活用が必要に なりそうです。 こんなものをACCESSで処理していること自体おかしいの ですけどね。
- O_cyan
- ベストアンサー率59% (745/1260)
SQLServerでODBCデータソース経由でACCESSのテーブルにリンクさせればACCESSのインターフェースやクエリも使えるので違和感はないと思います。 リンクする際にODBCデータソースを使ってリンクするだけでACCESSのDB同士のリンクと変わらなく使用できます。
お礼
ありがとうございました。 ODBCは経験がありますので、多分大丈夫かなと思います。
お礼
大変詳細な情報ありがとうございました。 いろいろ未知の用語があるので、補足にて記載します。
補足
すいません。自分でいろいろ調べて大まかに 理解できました。ありがとうございました。