
こんにちは
PHPからODBC経由で.mdbファイルを操作しようとして躓いています。
OSはWindows 7 64bitで、インストールしているMS Officeは32ビット (Office 2007)ですが、MS Accessはインストールしていません(先日、MS Accessを含むOffice 最新版の試用版をインストールしたのち削除しました)。
「C:\Windows\SysWOW64」以下の「odbcad32.exe」を管理者権限で開いてシステムDSNにドライバを設定してPHPから接続を試みたのですが、エラー「IM014」が返ってきました。調べると「指定されたDNSには、ドライバーとアプリケーションとのアーキテクチャの不一致が含まれています」ということだそうです。
「C:\Windows\System32」以下の「odbcad32.exe」でドライバを設定すればよいのかと思いましたが、管理者権限で開いても指定可能なドライバが表示されません。
どういった設定をすべきでしょうか?
No.2ベストアンサー
- 回答日時:
PHP_INT_SIZE で32bit版か64bit版かはわかりません。
http://www.php.net/manual/ja/language.types.inte …
一般に、64bitOSにPHPの32bit版は入らないはず。
古いバージョンでは入りますが、最新版はダメです。
タスクマネージャでphp.exeを見て*がなければ64bitです。
大原則として、64bitプロセス空間には64bitのDLLしか
ロードできません。同じく32bitプロセスには32bitのDLL
しかロードできません。ODBCがDLL実装(これが大半)で
あれば32bit版のODBCを64bitPHPで扱うことはできません。
プロセス間通信を使って、異なるプロセスでODBCを稼動
させ、データを通信により受け渡します。プロセスが違う
ので、64bit/32bitの壁をスルーできます。但し、これを実装
するには独自にPHPエクステンションを作るか、exe型の
COMモデルを使うしかないと思います。
私は前者は開発した経験がありますが、後者は経験が
ありません。PHPエクステンションの開発は非常に難しく、
Windowsのプロセスにやスレッドに関する技術、PHPの
データ管理法、DLLとのインターフェースなどの知識が
無いと作れません。
また、exe型のCOMモデルは非常に少なく、Office系での
実装しか見たことがありません。
Accessがインストールされていれば、とりあえず、COM
オブジェクトでAccess.Applicationをインスタンス化して
操作を試みます。成功すれば何とかなると思います。
PHPとCOMでググってみてください。
ありがとうございます。
ACCESSはインストールされていないんです。
むしろ、購入してACCESSでアプリケーションを作っちゃった方が楽な気もしてきます。
別の方法を検討します。
No.3
- 回答日時:
PHPの32ビット版って最新版だとインストールできないんですか?
ググってみたけど、それらしい情報が無かったけど…
PHPを32ビットにできないなら、Accessをやめた方が良いかも。
もともと、Accessってあんまり信頼性は高くないし。
PostgreSQLあたりがライセンスフリーで良いかと。64ビット版ももちろんあるし。
面倒なところに手を出してしまった感じです。
今までPHPとMySQLでいろいろ作っていたのでMDBファイルだろうが大差ないだろうと甘く見ていました。
もともと業務用で使う社内ツールなのであんまりリソースも割けません。現在、ExcelのVBAで操作できるコードを書いてみたところ、意外に行けそうなのでこちらの方面を検討してみます。VBAは得意ではないですが、頑張ります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ルーター・ネットワーク機器 Wi-Fi付きマザーボードで自作PCを組みたいのですが、OSをインストールした後のWindowsのネ 1 2022/12/06 20:09
- Windows 10 windows10のクリーンインストールが完了出来ない 2 2022/06/04 13:33
- その他(Microsoft Office) 会社におけるOfficeライセンスの管理 5 2023/03/14 15:23
- Visual Basic(VBA) VBAでArrayListを使う為の「mscorlib.tlb」の参照設定について 3 2022/03/23 19:45
- その他(Microsoft Office) MS365ライセンス数のカウント方法 1 2023/02/04 08:32
- ビデオカード・サウンドカード Media EncoderやStreamlabsDesktopのハードウェアエンコードについて 2 2023/03/25 12:16
- Excel(エクセル) マクロの付いたExcelが開けません 3 2023/02/01 10:54
- その他(Microsoft Office) Office(Windows版,Word/Excel/PowerPoint等)にログインできません 4 2022/07/24 15:18
- ビデオカード・サウンドカード OBSの録画について より高画質にする方法はありますでしょうか 2 2022/03/28 13:02
- Windows 10 Windows Updateが動作しません 7 2022/08/12 16:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Realtekって何ですか??
-
Windows7を低スペックPCに
-
ワイヤレスのデバイスドライバ...
-
Direct3Dアクセラレータが有効...
-
Vista用ドライバが
-
windows98のCD-ROM無しでUSB4ハ...
-
パソコンの画面
-
オンボードサウンドドライバ
-
DT-H30/U2のインストールについて
-
ディスプレーのデバイスが合わない
-
FUJITSU BIBLO MC(9)23 のビデ...
-
WindowsのUpdateをしたら、画面...
-
自作したパソコンがネットワー...
-
ソーテックのノートパソコンに...
-
ディスプレイドライバのアップ...
-
解像度などがかえられない。
-
Webカメラ撮影ツールは初期状態...
-
セットアップができないのです...
-
OS再インストール後、ネットに...
-
ディスプレイドライバがありません
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Realtekって何ですか??
-
USB→VGA アダプターのソフトが...
-
XPをインストールするときのSAT...
-
USB2.0のドライバーをインスト...
-
RAID1:内蔵HD4個で2個のHDを2...
-
現行機種でWindows2000を動かす...
-
クレボのドライバのありかについて
-
タッチパネル反転の直し方について
-
リカバリ後のドライバ導入の順...
-
音が出なくなりました【DirectS...
-
エラーコード769
-
WindowsXPからWindows7にしたい
-
ドスパラで購入したPCで、今日O...
-
Windows7インストールでドライ...
-
win98から2000に
-
ディスプレイアダプタがありま...
-
インストールされないLANドライバ
-
マザーボードの必要なドライバは?
-
SONYのVAIOで
-
オンボグラフィック無しのマザ...
おすすめ情報