今回の震災用のあくまで臨時です。
東京電力様の輪番計画停止データなど、それぞれ皆さんがデータをお持ちだと思います。できれば、地図も扱える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を参考とします。
Accessを起動し、空のDBを作成します。画面はAccess2010ですが、かなり前から同じ手順ですので・・・
リボン/メニュー の[外部データ] から Excelインポート を選択します。
元ファイルを指定し、
先頭行をフィールド名として使用した方が楽です。
各列のデータ型を決めまして
主キーを適当に決めていただいて。この例では複合キーにて決めるパターンなので、別にIDの自動作成にしています。主キーにこだわる必要性はありません。
テーブルを作成します。
Access内部にテーブルが作成されます。
Accessでは、テーブルさえ作ってしまえば、その入力画面を作成するのは簡単です。また、このパターンを使えば、Excelでデータのメンテナンスをしてもいいです。この柔軟性がAccessの魅力です。
Microsoft SQL Server Migration Assistant for Access v4.2 の起動
このツールは起動時にフリーなのですがライセンスが必要なので、その手順を。
こちらの [license registration page]に行っていただいて、ライセンスファイルを取得してください。ファイル取得後、適当な場所に置いていただき、そのパスを [License directory]にて指定。そして [Refresh License]ボタンを押しますと、以下の画面が出て、使えるようになります。
※ 先ほどライセンス登録サイトがリンク切れでした。もし明日以降も同じ現象が起こるようでしたら、社内で確認いたします。緊急の方、ご連絡ください。対応できるかもしれません
これにて、ウィザードページが起動します。
最初はプロジェクトの種類を決めて、プロジェクトの作成をします。もし、お手元にSQL Serverがある場合は、SQL Serverを。そうでない場合は、直接SQL Azureでも良いかと思います。
動作確認という意味ですと、SQL Serverがあった方がいいです。SQL Server Expressという無償版も提供しています。ダウンロードはこちら。
Accessのファイルを選びます。[Add Databases] から。
インポートするテーブルを選択します。
次はSQL Azure側です。
サーバー名、ユーザー名、パスワードまで入れると、DB作成/選択が[Browse]よりできます。間違いがないので便利です。
SQL Azure側に接続ができると、以下の画面になります。AccessをそのままフロントUIとして使う場合には、 [Link Tables]のチェックをオンにしてください。
ここでは、オフのままで次に進みます。
そうすると、テーブルの作成とデータ移行を自動的に行ってくれます。
途中、以下の画面にて、どのテーブルを移行するのか選択できます。
3ステップ全部チェックボックスが入れば終了です。
SQL Server Management Studioから、データの確認を行います。
ちなみに、今回移行したデータは、あくまで、このBlog執筆時点でのものですので、東京電力様公式のものでないので、SQL Azure上にはあるのですが、皆様への公開は控えさせてください。
Excelをビューアーにする (管理する側用。もしくは読み取り専用でSkyDriveに置く方用)
これも良く知られていますが、念のため。
Excelの [データ] から [SQL Server]を選択します。
ログイン情報を入れ
DBを選択し
設定を「一応」保存してください。次回からはこの保存設定を開くだけで行けます。
結果がExcelにてみれます
SkyDriveや、90日間無償提供をしているSharePoint Onlineでも活用ください。
ちなみに、先ほど私のSkyDriveにPublic公開しましたが、あくまで「サンプル」ですのでご注意ください。
東京電力様公開Excel移行時のTips
以下、今回の作業中に幾つか出会った課題です。
- Excelシート内の、グループ
- 文字列指定するために “’”が先頭にありました。データ型を数値にそろえる場合は削除ください
- 空白の場所が幾つかありました。Excelですのでソートして、削除するなり、ダミーデータを入れるなりしてください。
- SQL Azureの制約
- SQL Azureには必ず主キーが必要です。今回は「ID」ダミー列を付けました。Excel上で編集しても、Access上でもいいです。SQL Azureに入れる前に必ずお願いします。
SQL AZUREにつなげるところからわからないのですが、SQL AZUREのServer Nameとありますが、フリーかなんかで契約しないと発行されないものですか?すぐつけるもんじゃないんでしょうか?
すいません。前提がわかっていないようでトライしてみましたができませんでした。
最初にSQL Azureを使う契約は必要です。その後は、Windows Azureの管理者ポータルから、データベースを作成します。アプリケーションから使う接続文字列は、Windows Azureの管理者ポータル内のSQL Azureの管理画面内にあります。コピペができて大変便利ですよ。
詳細はMSDN Libraryから・・・
http://msdn.microsoft.com/ja-jp/library/ee621782.aspx
Hey helpful article. I had put together a little bit difficulity taking a look
at this post onSafari even though, unclear why?
ピンバック: MS Access2010(アクセス2010)でクラウド構想 » 事務屋.com