たまたま社内のスタッフにMicrosoft Accessでオリジナルのプログラムを作れる元SEがいるので、データベースを作成してもらいました。
このデータベースを異なる2か所の事務所で運用したいのですが、具体的な方法がわかりません。
アクセスのデータを、MY SQL のサーバーにエクスポートして、GUIはアクセスで運用する?
アクセスの知識はあり、オリジナルのプログラムを組むことはできますが、現状、SQLの知識はありません。作成しているシステムは、規模、内容とも簡単な部類に入ります。(抽象的ですみません。)
外国に住んでいるので、本を購入して独学で取り組みたいのですが、
おススメの本、役に立ちそうな本があれば、教えてください。
>アクセスのデータを、MY SQL のサーバーにエクスポートして、GUIはアクセスで運用する?
良い考えとおもいます。MSアクセスがシェアできないことの対応なのですね。
MYSQLのDBを立ち上げることができるのであれば、後はODBCで接続するだけで実現できると思います。
この時に起こる可能性がある障害は、デッドロックとです。また、業務の内容によってはセッション管理が必要となるかもしれません。
いずれも処理の内容で影響しますが、複数の利用者が全く別のデータを扱うのであれば問題は発生しません。セッション管理の似ていますが、データの状態遷移が複数の利用者によって、更新される場合に矛盾を生じないようにする仕掛けです。これまで、事務所レベルでの運用が変わらないのであれば、大丈夫でしょう。
また、問題が発生した場合は、DBがタイムアウトして、復旧します。その後で、該当データを確認すれば、後手ですが運用は可能です。
因みに太字の知識がないのでしたら、それをキーワードに検索すれば、理解が進むと思います。
上手く行くと良いですね。
MYSQLを使うと、Accessとは異なり、GUIの部分を自力で作成する必要があります。HTTPベースで作るなら、RubyまたはPHPでMYSQLアクセス・プログラムを作るスキルと、HTTPサーバ(Webサーバ)を運用するスキルが必要になります。
それより、Accessデータベースを共有する方が敷居が低いでしょう。
http://office.microsoft.com/ja-jp/access-help/HA010279159.aspx
http://office.microsoft.com/ja-jp/access-help/HP005240860.aspx
参考書も紹介しておきます。
できる大事典 Access 2007 Windows Vista対応 (できる大事典シリーズ)
それでしたら、Microsoft純正の無料DBMSのSQL Server Expressを利用してはいかがでしょう。
Accessからアクセスできますし、データコンバートも簡単です。
http://support.microsoft.com/kb/237980/ja
http://www.bitpower.co.jp/sqlserver_express/#useADP
ありがとうございます。
2カ所の離れた拠点でアクセスのファイルを共有するのは少し難しいですね。
VPNなどを使って、LANのように接続できれば、
どちらかの拠点のファイルサーバを使って
アクセスのファイルを使用することもできますが。
Windows Server 2008 R2 を導入できるなら、
DirectAccess 機能なども使えますが、
インターネット接続に使用しているIPアドレスが
固定アドレスでないと難しい気もします。
ネットワーク面の知識や設備投資も必要になるので
負担も大きくなってしまうでしょうか。
比較的容易で現実的なものとして、
まず Access ファイルを SQl Server Express(無料)へアップサイズすることに挑戦し、
それができれば、SQl Server のデータベースを、
マイクロソフトのクラウドサービス SQL Azure へ移行することに挑戦する
という感じでしょうか。
アップサイジング ウィザードを使用して Access データを SQL Server データベースに移動する
http://office.microsoft.com/ja-jp/access-help/HA010275537.aspx
SQL Azure へのデータベースの移行
http://technet.microsoft.com/ja-jp/library/gg457938.aspx
Access ファイルを直接 SQL Azure へ移行させることも可能みたいですね。
AccessのデータベースをSQL Azureに移す
http://daiyuhatakeyama.wordpress.com/2011/03/16/access%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%82%92sql-azure%E3%81%AB%E7%A7%BB%E3%81%99/
MySQL Server は商用利用はお金が必要じゃなかったかな。
システムを販売する場合だけだったかな。
いずれにしても、どこにサーバを立てるかという問題も出ることと、
扱うデータ型や文字コードなどの問題もあるので
素直に、SQL Server Express か、 SQL Azure がいいと思います。
その組み合わせでやったことはないのですが、できるはずです。
不安ならマイクロソフトのoffice関連フォーラムなどで質問すると
良いと思います。
要は、実際のデータ(テーブルなど)を SQL Azure に置くだけです。
Access + SQl Server も同じです。
質問者の過去の質問は確認していませんでした。
前回は、同じ事務所内での話だと勝手に想像したうえでの話でした。
ごめんなさい。
Access のバージョンが 2000 だと
考え直す必要があるかもしれませんね。
設置の場所はそのとおりです。
2012/11/01 19:24:29Windofjulyさんのコメントの「ネットワーク上での共有はLAN内の話であり、それにも色々と制約があります。(ODBCもしかりです)」は、具体的でないので何を指しているのか分かりません。
MySQL初心者入門講座を読めば、他の方への質問も解消するものと思いますよ。
ありがとうございます。
2012/11/01 20:23:59