• ベストアンサー

PHPでAccessのファイルを扱うには

MS系はまったくわからないので、基本から教えていただきたいのですが、いくつかテーブルのあるmdbファイルがあって、検索システムを作るのでデータを抽出してPHPで処理ということをしたいのですが、mdbをそのままの形式でPHPで読み込むにはどうすればいいのでしょうか。 それともASPじゃないとダメでしょうか? 何か方法がありましたらご教授お願いいたします。 よろしくお願いいたします。

  • umioyo
  • お礼率78% (172/220)
  • PHP
  • 回答数3
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • akanekor
  • ベストアンサー率52% (102/194)
回答No.1

mdbファイルをODBCに登録させて使って下さい。 コントロールパネル->管理ツール->データソース(ODBC) そうすれば、後は普通にODBCアクセスの要領で操作可能です。 PHP ODBCで検索すれば、サンプルはあちらこちらに落ちてるので、具体的にはそこ見てください。

umioyo
質問者

お礼

ご回答ありがとうございます。 ちなみにASPで開発する場合も同じ手順でしょうか。 また、ASPとPHPで比較した場合にどちらが作りやすいでしょうか。

その他の回答 (2)

  • 1percent
  • ベストアンサー率55% (10/18)
回答No.3

PHPの場合PEARのDBで簡単に接続できるとおもいます。 ---- こんな感じ ---------------- $dsn = odbc(access)://admin@/datasourcename $db = DB::connect($dsn);  (以下処理が続く) 参考URL http://pear.php.net/manual/ja/package.database.db.intro-dsn.php ※Accessでは試していないのですがSQL Serverへの接続は簡単にできました。 -------------------------------- ASPは使ったことがないのでアドバイスできませんが「参考URL」が参考になるかもしれません。

参考URL:
http://www.microsoft.com/japan/msdn/asp.net/using/migrating/phpmig/
umioyo
質問者

お礼

ご回答ありがとうございます。 なるほど、他のDBへの移植も簡単ですね。 参考にさせて頂きます。

  • akanekor
  • ベストアンサー率52% (102/194)
回答No.2

>ちなみにASPで開発する場合も同じ手順でしょうか。 はい。大体同じ感じです。 >ASPとPHPで比較した場合にどちらが作りやすいでしょうか。 人の好みしだいかと(==; 自分はASP暦の方が長いので、自分はASPが楽ですが、 PHP好きな方はPHPが楽って言うし。

umioyo
質問者

お礼

なるほど、そのくらいの差ですねw ありがとうございます。 とても参考になりました。

関連するQ&A

  • アクセスMDBファイルが壊れた

    アクセスMDBファイル(access2000)が壊れたようでテーブルを開こうとすると下記のようなメッセージが出ます。(これは、このデータベースからデータを拾っているaspファイルの一部のようです。)そのままOKを押すと開けることもあれば、開けないこともあります。 #テーブルをコピーしてもだめ #「修復」をしてもだめ #MDBファイル全体をコピーしてもだめ #あとの手を思いつきません。 ----ここからメッセージ---- クエリ式 'szObject = wszTableName OR szReferencedObject = wszTableName' の 構文エラー

  • Accessのファイルサイズ縮小について

    Access 2000で作成したmdbファイルを Access 2013環境で使用しています。 ・テーブルのみのmdbファイル(1)があります。  mdbファイル(1)の中には、テーブルオブジェクトが1つあり、フィールドが1つ、  フィールドサイズは255です。レコード件数は、36万5000件程度あります。 ・フォームやクエリ、マクロ、mdbファイル(1)と  リンクテーブルでつないでいるmdbファイル(2)があります。 mdbファイル(1)のファイルサイズが、90MBに達しており mdbファイル(2)を開いたり、何か処理させるのを遅くしているのではないか と思っています。 他の方の質問をチェックしましたが、結果は 最適化について  オプション→現在のデータベース→閉じるときに最適化する→チェックON済み  手動で最適化する→変化なし。 MDBをMDEに変換する  Access 2013では、バージョンが違うので変換できないようです。  accdb形式に変換→accde形式に変換しましたが、変化なし  (そもそも、ファイル(1)はテーブルのみで、マクロやプロシージャは無いので、  意味が無かったかも) となっており、対処法が見つからなくて困っています。 何か良い案はないでしょうか。

  • Microsoft Accessのデータが、別々のmdbファイルとして

    Microsoft Accessのデータが、別々のmdbファイルとして2つあります。Accessを持っていないので、OpenOfficeで開いています。このmdbファイルにあるテーブルをまとめてOpenOfficのBaseで開くことはできないでしょうか? 具体的には、Microsoft Accessのデータ、「aaa.mdb」「bbb.mdb」というファイルがあります。 「既存のデータベースに接続」>「Microsoft Access」で、「aaa.mdb」や「bbb.mdb」に、個別に接続して新規データベースを作成することはできたのですが、どちらのmdbファイル内にあるテーブルも参照してクエリを作りたいんです・・・。 また、過去に無理矢理「bbb.mdb」のテーブルをCtrl+c>Ctrl+vで「aaa.mdb」にコピー&ペーストしていたこともありましたが、今回はテーブルサイズが大きいせいか、エラーになります(メッセージ:エラーが発生しました。コピー処理を続行しますか)。 データベースに関する基礎知識が足りないので、そもそもそれができるかどうかも分かりません。 Webで検索しても参考になるサイトを見つけられませんでした。 よろしくお願いいたします。

  • PHPでms-accessのmdbファイルにアクセスする方法

    PHPでms-accessのmdbファイルにアクセスする方法を探しています。 adoのような形でサーバ側に手を入れずに簡単にできる方法ないでしょうか?

    • ベストアンサー
    • PHP
  • OracleDBからxml抽出→内容をテーブル形式でAccessへ取込

    OracleDBからxml抽出→内容をテーブル形式でAccessへ取込→mdb出力 いつもお世話になります。 表題の件について実現可能かご存知でしたら教えてください。 【一.実現したいこと】 1.OracleDBからxmlファイルを抽出する。 2.抽出した情報をテーブル形式でAccessにimportする。 3.importした情報をmdbファイルとして出力するためのディレクトリを作成する。 4.importした情報をある情報(部署ID等)ごとのmdbファイルに分割して出力する。 【二.使用言語】 上記の処理をバッチ実行しようと考えております。 javaで作れればと考えていますが、VBを使った方がいいのでしょうか。 以上、2点についてアドバイスをいただけますでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • MS Accessが時間と共に重くなる

    MS Accessでシステムを構築したのですが、同じ画面を使い続けるとパフォーマンスが悪くなります。 <システムの構成> ファイルサーバにテーブルを持つmdbファイル(サーバmdb)を置き、 各PCに置かれた、フォーム、レポート、クエリ、VBAを持つmdb(クライアントmdb)から接続します。 各PCのクライアントmdbのフォームを何時間か使い続けていると、サーバからデータを取得するのが遅くなります。 (調べてみると並び替え(order by)が主な原因のようです。参考までに遅くなった時のデータ取得件数は2万件程でした。) ただし遅くなっても、1度フォームを閉じて開き直すと、同じデータでも再び速くなります。 どうすれば速くなるかは別途考えなければいけませんが、そもそも何が原因なのでしょうか。 ・朝(使い始め)は速い ・同じフォームをずっと使い続けるとデータ取得が遅くなる ・フォームを閉じて開き直すと再び速くなる メモリが関係してそうな気がしますが、MS Accessではこういうことは起こるもの(仕様)なのでしょうか。原因が知りたいのですが、何か情報はないでしょうか。

  • PHPでexeファイル実行

    C言語でMPG形式の画像ファイルを読み込み、画像処理をしてテキスト形式で画像データを出力するプログラムを作成したのですが、 これをPHPプログラム内で動作させ、テキストデータ(できればバイナリのほうがいい)を読み取りたいと思います。 これはexeファイルをexecやsystem関数で実行することで解決できるのでしょうか? また、C言語の画像処理プログラムが画像を読み込んでからテキストデータを作成するまで1分ほどのタイムラグがあります。 どうすればPHP内の処理でexeファイル実行→exeがデータベースから画像を読み込む→ 1分処理待ち→テキスト作成→作成されたテキストデータをPHPで読み込み とできるのでしょうか? ちなみに、exeファイルとphpで作成した画像データベースはサーバー機に置くつもりです。 テキストデータを介さなくても、C言語プログラムからphpに直接データを渡す方法があればそちらのほうが望ましいです。 連続投稿で申し訳ないのですが、急を要するのでぜひともご解答お願いします。

    • ベストアンサー
    • PHP
  • Accessのデータ共有について

    現在社内の顧客管理システムをAccessにて構築しており、データテーブルファイル(mdb)をファイルサーバに置き、クライアントPCはフォームやクエリだけのmdbを使用してテーブルのリンクでデータ共有しています(Accessのデータ分割ツールにてテーブルとフォーム、クエリを分離しただけの状態で運用しています)。これまでは、この状態でも運用出来ていましたが、データ量が多くなるにつれ、段々動作が重くなってきた為、処理速度改善の為に、以下の二案を検討していますが、どちらの案が効果的なのでしょうか? 【案1】 クライアント用mdbファイルに同じテーブル構成の一時テーブルを作成し、mdbファイル起動時と、「更新」ボタンを別途作成し、「更新」ボタンが押下されたタイミングで、ファイルサーバのデータベースからADOにて一時テーブルに全データを読み込む。更新系の処理は、各クライアントの一時テーブルとファイルサーバのデータベースに対して行う。 【案2】 現状フォームの遷移については、 「DoCmd.OpenForm」関数の引数に検索条件を指定する方法で行っている為、この部分を ・ADOにてデータを取得  ↓ ・遷移後のフォームに値をセット と言った処理に変更する。 また、上記以外の方法で何か良い方法がありましたらご指摘頂ければと思いますので、よろしくお願いします。

  • 例え、a.phpというファイルがあります。

    例え、a.phpというファイルがあります。 このファイルには、中でphp処理とjavascript処理をを行っています。 詳細にいうと phpで、ある特定フォルダのファイルを呼びだしますが、そのファイルがあるかないかの処理結果をjavascriptに渡します。(一応このようにやるつもりです。) 今、不明なのは、同じa.phpファイルの中でphpとjavascript間でデータ渡しが可能でしょうか? また、php処理で特定ファイルを検査することが可能でしょうか? 自分がわかる範囲ならば、フォルダのすべてのファイルを呼びこむということですが、、、 ご教授よろしくお願いします。

    • ベストアンサー
    • PHP
  • Accessのテーブルデータ

    Visual Basicで作成したソフトでAccessのテーブルデータを呼び出せるようにしたいです。 mdb形式(Access)のファイルはデータベースエクスプローラに表示できるみたいですが、sqlのデータベースみたいにvisual studio上でデザイナ的に操作できるのでしょうか。 Form上でmdb形式のテーブルデータが扱えればよいのですが、もし必要なコードがあるのでしたら参考程度にアドバイスください。

専門家に質問してみよう