Hachioji.pm11

962 views

Published on

Windows

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Hachioji.pm11

  1. 1. Hachioji.pm #11 TALKid: hondallica ( http://sukuna.net/ )
  2. 2. じこしょうかいid:hondallica職業:ヘヴィーメタルプログラマー某公共インフラ系の会社で、なぜか携帯サイトの企画~開発やってます。北海道出身、八王子在住
  3. 3. テーマ:Win道 R
  4. 4. Windows+Access2010+Amon2えらいひとがAccess2010で管理してる資産情報をみんなで見れるようにする獣道
  5. 5. みちのり
  6. 6. Access 2010のODBCドライバを入れる接続はDBIでやるので、コントロールパネルのどっかにあるデータソース(ODBC)の設定は不要。参考:Microsoft Accessへ接続する / DBIx::Custom リファレンスhttp://d.hatena.ne.jp/perlcodesample/20110513/1307874545
  7. 7. セットアップコマンドプロンプトで打つ>amon2-setup --flavor Basic,Teng Access2010>cd Access2010
  8. 8. DBの準備・dbディレクトリにhoge.accdbをコピー・config/development.plを編集 hoge.accdb "dbi:ODBC:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=$dbpath", このへんいらない
  9. 9. ためしにplackupしてみる>plackupError while loading app.psgi: sql/odbc.sql: No such fileor directory at lib/Access2010.pm line 18.怒られるので、sql/sqlite.sqlをコピーしてodbc.sqlを作ります。
  10. 10. 改めて>plackupDBD::ODBC::db do failed: [Microsoft][ODBC MicrosoftAccess Driver] CREATE TABLEステートメントの構文エラーです。 (SQL-42000) at C:/strawberry/perl/site/lib/Amon2/DBI.pm line 85, <$fh> line 1.また怒られます。。。
  11. 11. SQLを確認ここでハマったのですが、どうやらAccessはIF NOT EXISTSが使えないようです。
  12. 12. しかたないのでIF NOT EXISTS消してplackupすると動きますが、再度plackupすると、こうなるのでodbc.sqlの中身を空にして逃げました。
  13. 13. AccessからSQLでデータ取得lib/Access2010/Web/Dispatcher.pmを編集 9~12行を変えます 今回カラム名が分からなかったので、 あえてハッシュで取るのはやめました。
  14. 14. HTMLテンプレート編集tmpl/index.ttを編集
  15. 15. できたと思ってplackupこれはひどい
  16. 16. 思い当たるのはDispatcher.pm
  17. 17. Shift_JISじゃないとダメっぽいめんどくさいのでlib/Access2010/Web/Dispatcher.pmのuse utf8;を消してShift_JISで保存します。>plackupやっと見れました。
  18. 18. おわり

×