• ベストアンサー
  • すぐに回答を!

AccessとSQL Serverの連携について

現在Accessで組まれているデータベースがあるのですが、複数人で入力をする必要が出てきたため、SQL Serverへ移行したいと思っています。 ただ、まだデータベースの内容が完全にFIXしておらず、項目に変更や追加が発生する可能性があります。 そこで、 ●Accessを管理画面として使い、 ●Access上で内容を変更したら、システム全体もその通り変わる ような仕組みを作りたいのですが、可能でしょうか。 (完全にSQL Serverへ移行するのではなく、AccessとSQL Serverを連携させる?) よき方法がありましたら教えて頂けましたら幸いです。 ちなみにコストはあまり大きくはかけられません・・。 どうぞよろしくお願いします。 (※私はシステムはど素人なので、なるべく簡単に教えて頂けたら嬉しいです。なお、説明がおかしなこともあるかと思いますがご容赦ください。)

共感・応援の気持ちを伝えよう!

  • 回答数5
  • 閲覧数468
  • ありがとう数11

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

  • ベストアンサー
  • 回答No.2

>※私はシステムはど素人なので、なるべく簡単に教えて頂けたら嬉しいです。 でもやることは十分玄人の領域な気が…。なので簡単に、は不可能でしょう。 以下、#1さんと同じように、AccessファイルからSQLServerへデータ読込、書込する環境を構築することを目指します。違うのは概要だけ。#1さんはきちんとシステムを構築する方法を書かれていますが、私は概要だけ。なんで概要だけかは後述。 (1)SQL Server Expressをダウンロードして、サーバー(もしくはサーバーに見立てたPC)にインストール。 (2)Accessのテーブルを(1)のSQL Serverに作成。 (3)ここからはPC側の作業 (4)ODBC接続を作成 (5)現行のAccessに(4)を使ってリンクテーブル作成。 (6)(5)のAccess内のクエリ、フォーム、レポートなどを必要に応じた修正を行う。 (7)動作確認 (8)各PCにODBC接続を設定&Accessファイルを配布。 概要はここまでです。如何でしょう、ご自分でできそうですか? 作業の概要はこの通りなんですが、サーバー機の選定とか"細かい"作業はかなり省略…というか書いてません書けません。特に(6)は実際にAccessファイルを見ないときっちりアドバイスはできませんし、作業ボリュームや難易度も見えてきません。…ということで(業者への発注は想定外のようですがw)業者も見積には難渋するでしょう。さくっと見積もりが出てくることもあるでしょうけど、かなりバッファをとった高額なお見積りかと。正直、見積もり作るのにお金がほしい内容です。 どうしてこんなことをグチグチ書いているかというと、大変申し上げにくいのですが、自称素人の方には難易度高め。業者に任せるか、類似のパッケージを探された方が、不具合などのリスクも軽減され、業務への影響も少ないかと。 ご健闘をお祈りしております。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • AccessとSQL Serverの連携について

    Accessをフロントエンドとして、SQL Serverをバックエンドとしてデータベースを構築したいとします。 【質問1】 構築後、Accessのテーブルやフィールドを変更することはできるのでしょうか。 【質問2】 上記の仕組みをWindowsサーバではなく、UNIXサーバ上で実現できるでしょうか。

  • MS AccessからSQL Serverに移行

    現在Accessを使ってデータの参照と、フォームでの入出力を行っています。海外拠点とVPNでつながっていて、今回そちらからも接続したいので無料版SQL Serverにデータを移行し、Accessはフロントエンドとしてフォームの利用のために使いたいのです。 データベース自体は画像やらPDFが置いてあるらしく500MBほどありますが、おそらくテーブルはあっても片手で数えられる程度、データは1000件ほどだと思います。 利用方法は部品番号を入力したら該当するデータシートがフォームに出力されるだけの単純で原始的なものです。多分エクセル+フォームでも再現可能です。発注時にそれを参照しつつ数量その他を決めて発注後、その発注データをテーブルに保存しているようです。 Accessはネットワーク越しの利用には向かないと聞きますので、SQL Serverにデータだけ移行させたいのですが、簡単にできますでしょうか? 一番簡単なのはAccessのデータベースがあるPCにリモート接続することですが、3人が同時利用できないのでこのような方法を検討しています(同時使用は最大でも3人たいてい2人まで、全体の利用者は7人ほど)。 Accessのアップサイジングという機能を使ってテーブルのデータを流し込み、ODBCでAccessからサーバ上のDBに接続するだけで動作するならそちらに移行したいです。 よろしくお願いいたします。

  • ACCESSからSQL Serverへの移行について

    こんにちは。 現在、ACCESS2000を使ってクライアントサーバーのシステムを構築 しております。 サーバーはWindows2003 Serverですが、データベースのMDBファイルを 置いてあるだけです。 クライアントはネットワークドライブを切って、サーバーのデータを 参照しています。 稼動してから8年間が過ぎ、機能強化を重ねた結果、いろいろと 問題点が出来ました。 データの大きさは、3ヶ月使用し続けると90MBまで膨らんでしまいます。 また、WAN越えの環境も出てきてしまい、レスポンスの悪さに頭を 悩ませています。 現在、このシステムの見直しを行っております。 まず、MDBファイルをデータベースとして使用した場合、3ヶ月で90MB という大きさは問題視すべきなのでしょうか? また、WAN越えで高レスポンスを得るためには、どのようなデータベース、言語を選択すべきなのでしょうか? 先輩の技術者からは、SQL Serverへの移行、またはDB2の採用を勧められました。 このような環境下でのシステム構築に経験がある方、どんなことでも よいのでアドバイスを頂けたらと思います。 長くなりましたが、よろしくお願いいたします。

その他の回答 (4)

  • 回答No.5

なんだか誤解されるのもアレなので、連投?ながら補足させて下さい。 質問文からの推量になりますが、質問者様の社内状況としてAccess→SQLServerに変更します、ということがまだ決定もしていないんじゃなかろうか、と。とりあえず「複数人で入力をする必要が出てきた」のでその方法を探っていて、お手軽にできるんじゃなかろうか?と質問されたのだと思っています。 そこで私の回答としては、Access→SQLServerの移行って結構大変な作業ボリュームになりそうですよ、ご自分でやるのも結構大変、まして業者に頼んだところで…ということでパッケージソフトでクリアできる処理内容ならそっちの方が楽じゃないの?という内容にしたつもりです。 別にパッケージソフトの回し者ではないですけど、ある程度定型化されたシステムへの移行の方が、移行作業も今後の運用も楽になると思います。 ご健闘をお祈りしています。

共感・感謝の気持ちを伝えよう!

  • 回答No.4
  • f_a_007
  • ベストアンサー率20% (955/4564)

補足:考え方! 1、AccessをSQL Serverに反映するシステムは無駄の極み。 AccessデータベースをSQL Server へと反映するアプリケーションは、さほど難しいものではないかもしれません。高速を狙うには、Access の各テーブルへの更新日とフラッグとの追加、それに伴うフォームのコードの変更を行えば事足りるでしょう。でも、それを実現しても、その意義はゼロです。なぜなら、フロントエンドがないからです。参照不能なSWL Server のデータベースは壮大なる無駄と言えます。 ここにいう無駄をなくすには、フロントエンドを用意すること。ただし、その場合には、もはや反映システムもAccessシステムも不要。 つまりは、反映システムというアイデアはかなりの矛盾に満ちたそれだということです。 2、Access のC/Sシステムがなければマルチ作業は困難。 もう一つの問題点は、いかに立派なSQL Server 反映システムを用意してもAccessはスタンドアロンのまま。肝心なマルチ作業は実現されていません。つまりは、Access版C/Sシステムの構築かSWL Server のフロントエンドの開発は避けられないということです。 3、MDBのコピー1、コピー2、コピー3の運用は???。 http://office.microsoft.com/ja-jp/access-help/HP003069834.aspx http://www.accessclub.jp/bbs2/0054/beginter17746.html 確かに、MDBのコピー1、コピー2、コピー3をそれぞれが運用しオリジナルデータベースに反映するという手もあります。しかし、これはいかがなものでしょうか。私には、その経験がありませんので肯定も否定もできません。言えることは、最後の望みは「MDBのコピー1、コピー2、コピー3の運用」です。が、紹介のサイトを見れば判りますが、結構、これもややこしいですよ。 以上の補足が、質問者の考えの整理に役立てば幸いです。

共感・感謝の気持ちを伝えよう!

  • 回答No.3

システム開発等を生業としている人からみたら ・なめたことを言わずに、まじめに仕事しろ、勉強しろ。 という感じでしょうか。 Access および SQL Server の本でも入手して じっくり勉強されることをおすすめします。 マイクロソフトのサイトに SQL Server の自習書があります。 参考にしてください。(参考URL) ●Accessを管理画面として使い、 ●Access上で内容を変更したら、システム全体もその通り変わる これは非常に高度だと思います。 もしできたら、売れるかもしれません。

参考URL:
http://www.microsoft.com/ja-jp/sqlserver/2012/technology/self-learning.aspx

共感・感謝の気持ちを伝えよう!

  • 回答No.1
  • f_a_007
  • ベストアンサー率20% (955/4564)

まず、通常の移行形態を確認されてください。 1、テーブル構造の設計書を作成する。(Excel) 2、設計書に基づきSQL Server を構築する仕組みを作る。 3、フロントエンドとしてのAccessプロジェクトの構築する。 4、SQL Server のバックアップシステムを完成する。  私は、全くのど素人の片手間プログラマです。その場合、1~4の工程を完遂するのに約1年を要しました。  1、2は、これは文献に準拠するだけですので割と簡単な作業。シンドイのは3の作業です。なぜなら、旧来のAccessの仕組みとプログラムは、全て廃棄することになるからです。先ずは、ライブラリを再開発し、フォーム、帳票の類をAccessプロジェクトのそれに一新。これは、一日、10時間の集中作業を6ヶ月。ここまでは、Access の延長みたいなもので。新たなテーマは、SQLServer の管理。ここをもクリアされるとAccess+SQL Serverシステムへの移行は完了です。  Access+SQL Serverシステムの利点は、 1、Access.MDB のフロントエンドの要領で開発できる。 2、処理速度は、黙っていても50倍速になる。 3、マルチ処理に対応している。 などです。 Q、よき方法がありましたら教えて頂けましたら幸いです。 A、まず、Access システムそのもののレベルアップを! 1、バックエンドとフロントエンドに分ける。 2、PCをワークステーションに代える。  まずは、現行のAccessシステムをサーバー・クライアントシステムに格上げされることをお勧めします。その場合、20年前のワークステーション(CPU 350MZ)をサーバーにされても動作するでしょう。つまり、PCも格上げということです。Access+SQL Serverシステムは、それが行き詰まった時のテーマにされたらどうですか?

共感・感謝の気持ちを伝えよう!

関連するQ&A

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

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

  • ACCESS2002 VB連携

    ACCESS2002とVBの連携で行き詰まりました。 ACCESS2000からACCESS2002にmdbを移した時に動かなくなってしまいました。 モジュール単体では動くのですが、Accessのマクロでは動かなくなりまして困っております。 参照設定で選択するライブラリを知りたくて投稿させて頂きました。 参照設定は下記の通りになります。 ・VisualBasicForApplication ・MicrosoftAccess10.0ObjectLibrary ・OleAutomation ・MicrosoftActiveXDataObjects2.5Library ・MicrosoftDAO3.6ObjectLibrary 上記の設定を行っております。 MicrosoftActiveXDataObjects2.5Libraryに関しては、MicrosoftActiveXDataObjects2.1Libraryだったので、上記のように変更してあります。 MicrosoftAccess10.0ObjectLibraryも同様、MicrosoftAccess9.0ObjectLibraryから変更しております。 Access2000からAccess2002に移行する再に2002で設定必要なライブラリを教えて下さい。 宜しくお願い致します。

  • スマートフォンでSQL Serverとやり取り!

    使用している環境 サーバー:Windows Server 2008 Standard DB:SQL Server 2005 上記のサーバーの環境でLAN内で簡単なAccess で作成したSQL Server をデータベースとしたシステムが稼働しております。外部からスマートフォン(PDA)を使用してデータベースで検索結果を見るシステムを作りたいと思っています。 まず、上記サーバー環境だけで実現できるものなのでしょうか?(使用するのは5人前後) 他に必用なモノはございますでしょうか? またPDA(スマートフォン)でプログラムを作る場合に、どのプログラム言語を使えばよいのでしょうか? SQL Server、VB、Access での開発は経験ありますが、PDA(スマートフォン)での開発は一切ございません。まずは足りない環境があればご指摘ください。このような場合のPDAのプログラム言語は一般的に何が良いのか、まずは、とっかかりから教えて下さいませ。 よろしくお願い致します。

  • Accessから他の言語は何が良いですか

    Access+SQL serverで販売管理などを作っています。Access2013からADPが使えないので他の言語を習得しようと思っていますが、営業もしながらなので勉強に時間もあまりさけません。特にWEBにする必要もないシステムなので、簡単に覚えれてSQL server2012 EXPRESSと連携できて、他のPCからFTPでデータの取得などが出来る言語は何が良いですか? 宜しくお願い致します。

  • [Oracle][IBM DB2][SQL Server]の違いと適性

    現在、Accessで業務アプリケーションを作成しているのですが、そろそろパフォーマンス的にも限界で、というかC/S環境でAccessを使っていること自体危険ですね… ここでデータベースをグレードアップしようと思っています。 しかし、データベースと言ってもたくさんあり、どれがいいのか 迷っています。 現在、商用RDBMSでは[Oracle][IBM DB2][SQL Server]がメインとの ことですが、これらの違いが分かりせん。 うちの規模は社員数が40人程度です Oracleは大規模システム向けと聞いた事があるのですが、 それであれば、IBM DB2かSQL Serverなのでしょうか 御教授宜しくお願いします。

  • SQL Server 2008を用いたデータベースリカバリについて2点

    SQL Server 2008を用いたデータベースリカバリについて2点教えてください。 1.SQL Serverを構成している「システムデータベース」と「ユーザデータベース」ですが、   例えば、「ユーザデータベース」が壊れてリカバリを行うことになった際、   ユーザデータベースだけ戻せばデータベースは復旧できるのでしょうか?   システムデータベースもあわせて戻さないと戻りませんか?   トランザクションログの用いて更新直前にまで戻す必要はありません。 2.データベースをバックアップしている最中に、そのバックアップ対象のデータベースに   更新がかかった場合、バックアップデータはどうなるのでしょうか?   更新内容も反映されるのか?それともバックアップが始まったときのものだけが   バックアップできて更新内容は反映されないのか?   そもそも更新を始めようとすると排他がかかって勝手に更新させないとかあったりするのでしょうか? 調べがつかず困っております。 有識者のご回答をよろしくお願いいたします。

  • SQL SERVERインストールの質問

    自社開発の販売管理システムを客先の既存のPCへインストールしようとしています。SQL SERVER2008 WORKGROUP + ACCESS2010のシステムですが、客先のPCには、既にSQL SERVER2008がインストール済でした。自社のベータベースをアタッチして使わせてもらえば、何の問題もないと思うのですが、もしダメと言われたら、別途インストールは可能でしょうか? 既にインストール済は、会計ソフトです。開発元に確認してないですが、既存のデータベースを使わせてもらうとデータの中身まで見れてしまうので、たぶんダメで言われそうなので出来れば別途インストールするのが良いと思います。 よろしくお願いします。

  • accessでmdfファイルをインポート

    お世話になります。 SQL Serverの中のmdfファイルをAccessで開きたいのですが、 手順がいまいち分からないので教えて頂けないでしょうか。 コントロールパネル - 管理ツール - データソース(ODBC)- システムDSN の中にSQL Serverがあることを確認。 Accessを起動してファイル - 外部データの取り込み - インポート ファイルの種類 - ODBCデータベース この後、データソースの選択というダイアログが出ますが ここでは先程のコントロールパネルのシステムDSNの中にあった "SQL Server"を選択すれば良いのでしょうか? また、SQL Serverというのは必ずID・Passが設定されていている ものなのでしょうか?そしてAccessなどで参照するにはそのID・Pass が必要になるのでしょうか? どうかよろしく願い致します。

  • MSAccessのWebシステム化について

    現在、社内で、MSAccess2000で作成した小規模のシステムを使っておりますが、 WindowsXPのサポート切れ問題等もあり、今後も運用し続けることは難しいと考えております。 そこで、AccessからWebブラウザベースのシステムへの移行を検討しております。 AccessをそのままWeb化したい(conversion)わけではなく、 Accessと同等の機能を簡単に実現する開発ツールがないか探しております。 ただ、現在使っているデータベース(MySQL)をそのまま使いたいと考えており、 今のところ、新しいデータベースへの移行は考えておりません。 例えば、ジャストシステムのUnitbaseなどは、クラウド上の専用のデータベースへの移行が必要なようです。 既存のデータベースを活用しつつ、 Webシステムを開発できるようなツールなどがありましたら、 教えていただけますでしょうか? 宜しくお願いいたします。

  • MDB→SQL Server Expressの移行

      お世話になります。 長文失礼します。 現在稼動中の MS ACCESS 2003で作られた業務管理システムがあります。 そのシステムのDB部分のみ SQL Server 2008 Express に移行するという作業を行なっています。 ※データ照会などのレスポンスアップが目的です 現行のシステムは FORM.MDB(インターフェースのみ) → DATABASE.MDB(データのみ) 移行後は FORM.MDB(インターフェースのみ) → SQL Server 2008 Express(データのみ) となります。 まず、DATABASE.MDBにあるテーブルをACCESSの機能である "アップサイジングウィザード"を使用し、SQL Server に移行しました。 次にテーブルのリンク先をDATABASE.MDB から SQL Server に張り替えました。 基本的には上記の処理のみでデータの照会等うまくいっているのですが 大量の件数(約20万件)のデータを照会する画面で結果が表示されるまでの速度が (現行のシステムと比較して)低下したため改善を行なっております。 上記の照会画面では ACCESSのクエリで複数のテーブルを繋げ、集計した結果を表示しています。 このクエリの代わりにSQL Server側でビューとして作成し、それに対してテーブルリンクを張れば 良いのではないかと考え、実行しました。ビューにリンクを張ったクエリ名を仮に"Q_照会"とします。 結果、照会結果を表示するまでの時間はかなり短縮できた(ように見えた)のですが 照会結果をスクロールや、PageUpキーによるページ移動をすると毎回1、2秒後に スクロール後の結果が表示されます。※現行システムではスムーズにスクロールします。 プロファイラで監視してみるとページ移動した時に、"Q_照会"をテーブルキー指定で SELECT している事がわかりました。毎回10レコード取得しています。 この様な記述は私は書いていませんのでACCESS(SQL Server?)が勝手に行なっている 動きだと思われるのですがどこかで設定できるのでしょうか? また今回、ACCESSのクエリをSQL Serverのビューに置き換える方法を取りましたが 別の方法でレスポンスアップが望める方法があればご教授お願い致します。