AccessのデータベースをSQL Azureに移す

今回の震災用のあくまで臨時です。
東京電力様の輪番計画停止データなど、それぞれ皆さんがデータをお持ちだと思います。できれば、地図も扱えるSQLAzureにデータを入れていただき、各サイトにてミラーする際にSQLAzureつついていただければと思います。
自治体様のサイトもそうですね。

データをExcel/Accessなどで作成して、SQLAzureをフロントにを今回は取り上げます。

結果、 Excel UI で、DBはSQL Azureのシステムができます。
東京電力、東北電力の方、出来たら使っていただきたいですね・・・

事前準備

まずはAccessのアプリを用意します。ExcelのデータをAccessに取り込む方法は、冒頭に。

ツールがありますので、それにすべてをゆだねます。あくまで緊急事態用ということで。

Microsoft SQL Server Migration Assistant for Access v4.2:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5abe098d-c7e1-46c6-994a-09a2856eef0b

インストールは特に難しくありません。

 

ExcelファイルのAccess化

先ほど、3/15 23:10分現在の東電さんのホームページからダウンロードしたExcelファイルを全部マージしたExcelを参考とします。

image

Accessを起動し、空のDBを作成します。画面はAccess2010ですが、かなり前から同じ手順ですので・・・

image

リボン/メニュー の[外部データ] から Excelインポート を選択します。

image

元ファイルを指定し、

image

先頭行をフィールド名として使用した方が楽です。

image

各列のデータ型を決めまして

image

主キーを適当に決めていただいて。この例では複合キーにて決めるパターンなので、別にIDの自動作成にしています。主キーにこだわる必要性はありません。

image

テーブルを作成します。

image

Access内部にテーブルが作成されます。

image

Accessでは、テーブルさえ作ってしまえば、その入力画面を作成するのは簡単です。また、このパターンを使えば、Excelでデータのメンテナンスをしてもいいです。この柔軟性がAccessの魅力です。

Microsoft SQL Server Migration Assistant for Access v4.2 の起動

このツールは起動時にフリーなのですがライセンスが必要なので、その手順を。

image

こちらの [license registration page]に行っていただいて、ライセンスファイルを取得してください。ファイル取得後、適当な場所に置いていただき、そのパスを [License directory]にて指定。そして [Refresh License]ボタンを押しますと、以下の画面が出て、使えるようになります。

※ 先ほどライセンス登録サイトがリンク切れでした。もし明日以降も同じ現象が起こるようでしたら、社内で確認いたします。緊急の方、ご連絡ください。対応できるかもしれません

image

これにて、ウィザードページが起動します。

image

最初はプロジェクトの種類を決めて、プロジェクトの作成をします。もし、お手元にSQL Serverがある場合は、SQL Serverを。そうでない場合は、直接SQL Azureでも良いかと思います。
動作確認という意味ですと、SQL Serverがあった方がいいです。SQL Server Expressという無償版も提供しています。ダウンロードはこちら

image

Accessのファイルを選びます。[Add Databases] から。

image

インポートするテーブルを選択します。

image

次はSQL Azure側です。

サーバー名、ユーザー名、パスワードまで入れると、DB作成/選択が[Browse]よりできます。間違いがないので便利です。

image

SQL Azure側に接続ができると、以下の画面になります。AccessをそのままフロントUIとして使う場合には、 [Link Tables]のチェックをオンにしてください。
ここでは、オフのままで次に進みます。

image

そうすると、テーブルの作成とデータ移行を自動的に行ってくれます。

image

途中、以下の画面にて、どのテーブルを移行するのか選択できます。

image

3ステップ全部チェックボックスが入れば終了です。

image

 

SQL Server Management Studioから、データの確認を行います。

image

 

ちなみに、今回移行したデータは、あくまで、このBlog執筆時点でのものですので、東京電力様公式のものでないので、SQL Azure上にはあるのですが、皆様への公開は控えさせてください。

Excelをビューアーにする (管理する側用。もしくは読み取り専用でSkyDriveに置く方用)

これも良く知られていますが、念のため。

Excelの [データ] から [SQL Server]を選択します。

image

ログイン情報を入れ

image

DBを選択し

image

設定を「一応」保存してください。次回からはこの保存設定を開くだけで行けます。

image

結果がExcelにてみれます

image

SkyDriveや、90日間無償提供をしているSharePoint Onlineでも活用ください。

ちなみに、先ほど私のSkyDriveにPublic公開しましたが、あくまで「サンプル」ですのでご注意ください。

http://cid-50a4aac9c40e61d8.office.live.com/view.aspx/public/%e6%9d%b1%e9%9b%bb%e8%a8%88%e7%94%bb%e5%81%9c%e9%9b%bb%e5%9c%b0%e5%8c%ba.xlsx

東京電力様公開Excel移行時のTips

以下、今回の作業中に幾つか出会った課題です。

  • Excelシート内の、グループ
    • 文字列指定するために “’”が先頭にありました。データ型を数値にそろえる場合は削除ください
    • 空白の場所が幾つかありました。Excelですのでソートして、削除するなり、ダミーデータを入れるなりしてください。
  • SQL Azureの制約
    • SQL Azureには必ず主キーが必要です。今回は「ID」ダミー列を付けました。Excel上で編集しても、Access上でもいいです。SQL Azureに入れる前に必ずお願いします。

AccessのデータベースをSQL Azureに移す」への4件のフィードバック

  1. SQL AZUREにつなげるところからわからないのですが、SQL AZUREのServer Nameとありますが、フリーかなんかで契約しないと発行されないものですか?すぐつけるもんじゃないんでしょうか?
    すいません。前提がわかっていないようでトライしてみましたができませんでした。

  2. ピンバック: MS Access2010(アクセス2010)でクラウド構想 » 事務屋.com

コメントを残す