• 締切済み
  • 困ってます

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に接続するだけで動作するならそちらに移行したいです。 よろしくお願いいたします。

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

  • 回答数1
  • 閲覧数529
  • ありがとう数1

みんなの回答

  • 回答No.1
  • oboroxx
  • ベストアンサー率40% (317/787)

AccessとSQL Serverの使い勝手がかなり違うので、色々躓くかと思うのですが、チェレンジしてみる価値はあるかと思います。 注意が必要なのが、無料のSQL ServerとはSQL Server Expressかと思うのですが、初期設定では確かSQL Server ExpressがインストールされているPC以外からのアクセスを受け付けないと思いました。 ですので、参考URLをみて設定してみてください。 わからないことがあれば、何度でも質問していいと思います。 頑張ってください。

参考URL:
https://technet.microsoft.com/ja-jp/library/ms165647(v=sql.90).aspx

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

質問者からのお礼

試してみましたが、画像などのファイルをSQL Server側のテーブルで受け取ってもらえず、断念しました。ODBC接続とテーブルの移行はできたんですけどね。 ご回答ありがとうございました。

関連するQ&A

  • SQL Serverの移行について

    SQL Server2000からSQL Server2008へ 移行したいです。 Accessからリンクテーブルをして使用しています。 移行後、Accessのプログラムを実行しようとすると、 エラーが発生します。ODBC接続を使用しています。 リンクテーブルマネージャで再リンクしてみたのですが、 うまくいきませんでした。 何かうまくいくためのヒント等わかるかたいらっしゃいますでしょうか?

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

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

  • AccessとSQL server 2005 Express Editionについて

    今ある、Accessの照会システムがあります。 テーブルはサーバ(Win2003Server)にmdbファイルを置いてます。 照会画面、レポート等のプログラムは各クライアントにそれぞれmdbを置き、サーバにあるmdbファイルをリンクテーブルで参照しています。 今後照会だけでなく入力エントリプログラムを追加していくのですが そのエントリは9台同時に入力することが考えられます。 今のmdbで9台同時複数エントリはAccessのmdbでは当然無理なので 今あるインターフェースをAccessで DBをSQL server 2005 Express Editionで考えています。 容量はMAX4GBと聞いているのですがデータの規模は4GBで問題ありません。 SQL server 2005 Express Editionでクライアント9台同時接続できるのでしょうか? 費用をかけれないので無償のSQL server 2005 Express Editionで考えています。 可能かどうか知りたいのです。9台の同時接続で運用にも耐えれるのかも疑問です。Express Editionでは無理があるのかも知りたいのです。 無理であれば今ある資産を利用して費用をかけないで済む方法があれば助かります。 どうぞよろしくお願いします。

  • SQL Server とaccess この認識であってますか?

    SQL Serverを使えば共有されていない2台のパソコンからでもIDとPWがわかれば テーブルをSQL Serverにアップしてaccessで操作できると言う認識であってますか? accessの本体の部分(フォームなど)をこの2台のパソコンに入れておけば 同じデータ(テーブル)を扱えるのでしょうか? ご回答よろしくお願いします。

  • ACCESSからSQLServerのデータを取得したい

    SQLServerが利用できない環境にデータを持っていくため、以下のようなシステムを考えております。(テーブルのリンクは不可・手動でのデータのエクスポートは不可) 1.ACCESSのフォームに「データベース名」「テーブル名」を入力し、実行ボタン押下 2.ADOでSQLServerに接続 3.指定のテーブルと同じ構造のテーブルをACCESSに作成 4.SQLServerのデータをACCESSにINSERT ここで質問なのですが、ACCESSは自分のデータベースとSQLServerのデータベースに同時に接続できますか? 同時接続した場合のACCESS/SQLServerの書き分けはどのようになるのでしょうか。

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

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

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

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

  • 現在、会社のデータベースをaccessで構築しています。

    現在、会社のデータベースをaccessで構築しています。 【 5台のPCで、1台のPCにメインのaccessを置き、他PCからはリンクして共有できるようにしています。 OSはそれぞれXP、メモリは512以上、accessは2000で、各PCのLANポート、LANケーブル、ハブ、はGiga bitに替えています。 管理者は、独学でaccessを使い始めたので、専門用語の使い方など至らない部分もありますが、ご了承願います。。。 】 accessを使いはじめてから1年くらいたちますが、検索するのにかなり時間がかかるようになりました。 【 業務内容は、主に顧客にTELして、会話の大まかな履歴を入力していくというカンジです。一覧の帳票フォームから選んだ顧客のボタンを押すと、詳細が書かれた単票フォームが表示され、それに入力していきます。 そのときの単票フォームが表示されるまでの時間が長いです。(10~30秒)→その単票フォームにサブフォーム、クエリがともに10個ほどはいっているため、遅いのだと思うのですが。ただ、これらは業務上不可欠なデータなので、そこは削れないのです。 テーブル、クエリ、フォームはそれぞれ100個以上あり、顧客データのみで6000件、会話履歴データのみ15000件ほどです。 】 それで何とか検索スピードを早くしたいとネットで調べ、できる限りのことは色々試してみました。 【 ギガビットの接続、テーブルのサブデータ名を『なし』にする、Autoexecで非表示のダミーフォームを開く、こまめな最適化 】 それで、一番手軽?で効果的なのが、テーブル自体はSQLに移行して、フロントエンドはaccessを使うことだという結論に達した(いろんな方の意見をまとめた)ので、早速お試しで、無償版のSQL server 2005 express をインストールしてみました。 インストール後、業務で使用しているメインのDBファイルをコピーして、ツール→アップサイジングと選択し、アップサイジングウィザードが表示されて、 ●『このデータベースに使用する SQL Server を指定してください。』 →(local)でないものを選択 ●ログイン、IDを入力 ●SQLデータベース名→既定の『upsized_detabase』 という流れで『次へ』のボタンを押すと下記のエラーメッセージが表示されます。 ---------------- 接続できませんでした。: SQLState:'01000' SQL Serverエラー:2 [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (ocnnect()). 接続できませんでした。: SQLState:'08001' SQL Serverエラー:17 [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Serverが存在しないか、アクセスが拒否されました。 ---------------- ここから先に進めなくて困っています。 Office2000のSP3を当てたらうまくいったという内容も拝見しましたが、SP3インストール後リトライしても変わらずでした。 accessが古いというのに加え、無償のSQLを使おうとしている環境自体がよろしくないというご指摘もあるとは思うのですが、その環境で構築されている方もいらっしゃるみたいなので、なんとかできる限りはこの環境でできないものかと模索している状況です。 (一方でaccess2000から、SQL2005expressにアップサイズするのは無理、という内容もみかけたりもしました。) どなたか解決策がおわかりの方、知恵を貸していただければ幸いです(^^) 長文最後まで読んでいただき、ありがとうございました!!

  • 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のビューに置き換える方法を取りましたが 別の方法でレスポンスアップが望める方法があればご教授お願い致します。  

  • ACCESS VBAでSQL Server使用

    ACCESS VBAでSQL Server使用しています。 データ量が多い場合、 リンクテーブルを張ってDocmdでJetデータベースエンジンを使う方法と SQL ServerにADOで接続してT-SQLを使用する方法ではどちらが早いでしょうか?