MDBファイルへのアクセス

備忘録です。

ちょっと前に Accessで作成しているシステムをWebシステムに置き換える案件の仕事をしている時に、MDBファイルを覗く(データ抽出)する必要があった。そのときに使っていたPCには、ランタイム版ではない、本物の? 32bit版のMicrosoft Accessがインストールされていたので問題は無かったのですが、今使っているPCはMicrosoft Officeは入っていない。

いや、たしか、OLEDB経由でMDBファイルは読めるはず・・・と思ってコントロールパネルからODBCドライバが入っているかどうか見てみたけど・・・残念・・・入ってなかった・・・。

ググったら、「Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント(https://www.microsoft.com/ja-jp/download/details.aspx?id=13255)」をインストールすれば読める、ということで、64bit版のドライバを入れて、Visual Studio 2015 community のサーバーエクスプローラで確認。

で、一応32bit版も入れとくか・・・と思って、32bit版もダウンロードしてインストーラーを立ち上げたら、先に64bit版を削除しろ! と怒られた(^^;

ええい、/passive オプションをつけてバージョン・チェックなしでもう一度インストーラーを起動して、問答無用で入れてやりましたよ!32bit版はバージョン違いのものが既にインストールされてた。この辺よく分からん。

odbc64  odbc32

左が %WINDIR%\system32\odbcad32.exe右が%WINDIR%\syswow64\odbcad32.exe
32bit/64bitアプリケーションでちゃんと動くのかな?今度確認してみよ。

でも、これ、下記ような制限があるんだけど、意味が分からない。MDBファイルを読むために使っちゃダメなの? いいの? 分からん・・・

  1. Jet の全般的な代替としての使用。Jet の全般的な代替が必要な場合は、SQL Server Express Edition (英語版) が必要です。
  2. サーバー側アプリケーション内での Jet OLEDB プロバイダーとしての使用。
  3. 一般的なワード プロセッサ、スプレッドシート、またはデータベース管理システムとしての使用。 つまり、ファイル作成の手段としての使用。Microsoft Office または Office オートメーションを使うと、Microsoft Office でサポートされるファイルを作成することができます。
  4. システム サービスまたはサーバー側プログラム (コードがシステム アカウントの下で実行されるもの、複数のユーザー ID を同時に処理するもの、高度に再入可能で動作が不安定になるもの) による使用。これには、ユーザーがログインしていないときにタスク スケジューラーから実行されるプログラムや、ASP.NET などのサーバー側 Web アプリケーションから呼びだされるプログラム、COM+ サービスの元で実行される分散コンポーネントなどがあります。

明日のメシの心配

営業さんしかいない部署にいると、時折聞こえてくる「遠い未来のご馳走より、明日のメシの心配しろ」的なことが総意になるわけです。中小企業は目先の利益が最重要・最優先項目になるのは仕方ないのかな、と思います。

おりこう ナンチャラ とかいう、素人相手のすんげぇ高価なCMSがあって、そこでできないことをレンタルサーバーを別途契約して、別途そこでゴニョゴニョしよう、という案件。

そもそも会社で売ってる「おりこう○○○」(伏せ字で失礼(_ _) って何ね? と思って調べてみるが、中身がよく分からん。営業の人に聞いてもそもそもHPで書いてある以上のことは分からない、という。なんじゃそりゃ?

ドメイン名もそこが管理するらしいけど、他でレンタルサーバー借りるんなら、あとで連携が必要になったときのクロスドメイン問題を回避するためにも、サブドメイン運用したいのだが・・・それが、その「おりこう ナンチャラ」で可能なのか・・・というのを調べようにも資料が全くない。営業さんに言っても、Webシステムの中途半端な知識しかないから、サブドメイン運用の意味が全く分かってくれないので、「もうそういう契約になってるので!」の一点張り。

しかし、まぁ、社員さんが言うところの「売った数字」でしか評価されない、というのは、契約社員という名のアルバイトの身には、全くもってどうでもいいことなんで、とにかく、後々のためにも、遠い未来(笑)の先のことを考えないと、苦しむのは自分。

どうすれば素人からお金を吸い取れるか? でのみで作られたCMSが「使いやすいシステム」でないことは確かだ。

まぁ素人(ITリテラシーが低い人、いわゆる情弱)が使いやすいシステムと、ウェブ開発者達が言うところの使いやすいシステムっていうのは、根本的に違う、ということは分かっているのだが・・・

弁当食いに来てるだけの給料ドロボーだった4~5年前の部署に戻りたい(笑)

iframe要素のsandbox属性

先日、iframeを使用している自作のjQueryプラグインを使って構築しているWebアプリの管理画面が突然正常に動かなくなった!

ブラウザの開発者ツールのコンソールから原因を調べたら、iframe要素内で読み込んでいる同じドメイン内のリソースからフォームを投げたり親ウィンドウへのアクセスがことごとくエラーになっていたorz コンソールには、allow-modalsがなんとかかんとか、という見たこともないエラー。

でも、エラーになるブラウザはchromeだけ。FireFoxやIEは問題なかったので、たぶんchromeの最近のバージョンアップでiframe要素のセキュリティが高くなってしまったのかなー、とよくよく調べたら、下記sandbox属性をiframeに追加すればちゃんと動くようになった。どうやらHTML5.1にchromeが対応しただけ? (というか、HTML5.1なんて、そんなもんあったの?無知は嫌だねぇ(_ _) 常にアンテナはっとかないとダメですよねぇ・・・)

  • allow-modals
  • allow-pointer-lock
  • allow-popups
  • allow-popups-to-escape-sandbox
  • allow-top-navigation

名前からだいたいの想像はつくんですが・・・allow-modalsとかallow-popupsとか違いが分からない。また今度時間あったら調べよう。

もともと、<iframe sandbox=”allow-same-origin allow-forms allow-scripts”> という風にしてたんですが・・・もっと調べたら、上記5つのsandbox属性は、HTML5.1から追加された?もののようですね。
(この辺、自分ではよく分かってません(_ _)

ってことは、このまま放っておくと、InternetExplorerはともかく、いずれはFireFoxもMicrosoft Edgeも動かなく・・・。このプラグイン使っているところは、修正したプラグインのJSファイルだけ上書き全部しないとなー。

根本的にはiframe要素をすべて排除して、全てajaxな作り方すれば良かったんですけどね・・・中途半端は良くないですね・・・でも、iframeって便利なんですよね(^.^;;;

Advanced Windows 第5版(上)が3万円!

どうにかなんないですかね・・・。

あ、そうそう、いつの間にか C Magazineが Kindleで一冊100円で買えるようになりましたね。読みたい号だけ安い値段で読めるので非常にありがたい・・・。

Advanced Windowsは、Windowsで飯を食っている開発者なら絶対読むべき解説本(この本を読解せずしてWindowsを語るな、レベルの中・上級者用の本ですが・・・)だったんですが、日経BPから出ていた日本語訳(上)(下)は、なんか絶版してるんですよねぇ。僕は初版が出たときに上/下巻セットで1万2千円払って買いましたよ。理解できるまでボロボロになるまで何回も読みました。

ADVANCED WINDOWS 第5版 上 (マイクロソフト公式解説書) ADVANCED WINDOWS 第5版 下 (マイクロソフト公式解説書)

で、最近ちょっとカーネルオブジェクトとか構造化例外とか、Win32 API を叩く機会があって読み直したんですが・・・汚いし、重い。Kindle版ないのかなー、と思ってamazonで検索したら、中古本が2万7千円とか・・・ありえんよ・・・。オリジナルの洋書(原題:Windows via C/C++ Fifth Edition)はKindle化されてるんですが・・・。

今、専門書をちょっとづつ電子書籍版に買い直ししてて、紙の本はヤフオクとかマーケットプレイスとかで処分しつつあるんですが・・・、絶版してる本はほとんど電子書籍化されてないですよねぇ。自炊してPDFとか・・・メンドクサイし、ドキュメント・スキャナ持ってないし・・・。

数年前に自炊代行業者は著作権侵害!とか裁判なってましたよねぇ。。。

んー、持ってる絶版本を出版社に送ったら鍵付きPDF化してくれるサービスとか有料でやってくんないかなー。数年で情報が陳腐化してしまうような専門書の絶版本に限ってやれば問題ないと思うんだけどなぁー。まぁ、無理ですよねぇorz

スキャナと裁断機・・・レンタル or 持ち込みでできるとこってないのかなー。