こんにちは
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って何ですか??
-
タッチパネル反転の直し方について
-
ディスプレイアダプタがありま...
-
壊れたPCのハードディスクからO...
-
Webカメラ撮影ツールは初期状態...
-
PCI deviceがインストールされ...
-
パソコンを起動すると「Realtek...
-
USB→VGA アダプターのソフトが...
-
PCI Deviceのドライバを導入で...
-
win2000インストール時のカラー数
-
XPをインストールするときのSAT...
-
win7インストールしなおしたい...
-
NECValuestarメモリ取り外して...
-
Pc切替器が動作しません。理教...
-
USBメモリーがドライブとして認...
-
Thinkpad X40のHDDをmSATAに交...
-
ノートパソコンのデータ初期化...
-
Linux,Ubuntuで無線LAN接続
-
SEKC USBメモリ 128GB USB が読...
-
cf-w7 リカバリ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Realtekって何ですか??
-
USB→VGA アダプターのソフトが...
-
XPをインストールするときのSAT...
-
OSなし本体にOSをインストール...
-
Windows 10 32bitから64bitに変...
-
タッチパネル反転の直し方について
-
32bitから64bitへ環境ごと移行...
-
USB2.0のドライバーをインスト...
-
Windows7インストールでドライ...
-
PCI Deviceのドライバを導入で...
-
DT-H30/U2のインストールについて
-
クレボのドライバのありかについて
-
ウイルス? 画面に変な模様
-
パソコンを起動すると「Realtek...
-
ディスプレイアダプタがありま...
-
Vostro1000のディスプレイアダプタ
-
nVIDIAのビデオドライバ・・ど...
-
Win7 64bit:ODBC経由でMDB接続不可
-
パソコンでCDを聞きたいので...
-
ドスパラのBTOでOSなしの場合
おすすめ情報