• 締切済み

AccessのデータをSQLServerで

SQLServerについては知識がないので、基本的な質問かもしれませんがお願いします。 現在、社内のシステムはAccess2003で通しています。 中小企業なのでクライアント数も15(全クライアントにAccessをインストール済み)ほどで、データ量は全部のmdbファイルで2GB程度です。 ただAccessではスタンドアロンになりがちで、複数のクライアントからの同時アクセスによるデータ更新ができにくい状況です。これについては、本来はやりたくないのですがmdbファイルを複数に分散したりして逃げています。(できれば1つのmdbファイルが理想です) また、mdbファイルの大きさやクライアントのPCスペックにもよると思いますが、Accessでの操作性がよくない(重い)です。 このような状況から考えて、自社のWindowsServer2003にSQLServer2005を導入の予定でいます。 そこで一番聞きたい質問なのですが、 「Accessで構築したmdbファイルを、SQLServerにデータを移すのみで問題はないのでしょうか」 どこへ移すのかとか、それができたとして、クライアントは今後どこから自社のシステムへアクセスしたらよいのかはまだ知識がないためまったくわかりません。。 ただ、SQLServerについての基本的なことはおさえておくつもりです。 なお、SQLServer2005を導入するのならば、無償版(Express)があるそうなのでそれで様子を見て、いろいろ不足するようでしたら上位版を考えています。

みんなの回答

回答No.3

mdbファイルはACCESS依存のファイルなので データの変換作業が発生いたします。 よって、SQL Serverへのデータの インポート作業を行う必要があります。 ちなみに、Express Editionは、 基本的にアプリケーション開発を念頭に置いた DBのみの提供ですので、 上記のようなインポート作業を行うツールなどは 付属しておりません。 もし、yukorin_t様がアプリケーション開発、 特に.NETの知識をお持ちであるなら 簡単にACCESSからのデータを SQL Server Express Editionへ移行可能だと思いますが、 そうでなければ上位バージョンの導入をオススメ致します。

  • NOBNNN
  • ベストアンサー率50% (93/186)
回答No.2

まず、ACCESSのテーブルはMDB形式でしょうか? MDBはリレーショナルを定義してますか? 各種クエリーなどはありますか? マクロはどうなってますか? 諸条件を明確にしてください。 mdb 形式ならデータを SQL server 側に移動する。 クエリーは Access の関数などが混ざっているとエラーになります。 リンク形式(ODBC経由)の形をとるのであればそのまま使えるかもしれません。 そうではなくADP形式で直接接続に変えるようであればVBAのプログラム を見直す必要があります。 リンク形式ではストアドは直接はさわれません。 SQLサーバー側で作成しておき、パススルークエリーで実行する形をとります。 できればADP 形式にしてプログラムを作成することをお勧めします。

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

細かい部分は実際のAccessの構造がわからないと何とも言えませんが・・。 基本的に問題ないと思います。SQLServer2005のExpressEditionにデータを移して、Accessからは「リンクテーブル」で使えばいいと思います。SQLServerはあくまでも「DBのみ」ですから、フロントエンドはAccessのままでいいです。

関連するQ&A