• ベストアンサー

PHPからIBMDB2に接続する方法

PHPからIBMDB2データベースに接続したいのですがどのようにすれば良いでしょうか? 環境は windows7 XAMPP Version 1.8.2 MySQL 5.5.32 PHP 5.4.19 よろしくお願いいたします。

  • PHP
  • 回答数3
  • ありがとう数6

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

  • ベストアンサー
noname#244856
noname#244856
回答No.1

共通レイヤのPDOで利用できれば一番ラクなんですが、そのままでは使えないようなのでご自分でPECLからインストールされてください。 PHP Manual - PDO_IBM http://www.php.net/manual/ja/ref.pdo-ibm.php Qiita - PHPでデータベースに接続するときのまとめ (MySQL中心の記事ですがある程度IBMDB2にも応用が利きます) http://qiita.com/mpyw/items/b00b72c5c95aac573b71

do79tama13
質問者

お礼

お返事が大変おそくなって申し訳ございません。 初心者のため非常に理解するのに時間がかかってしまいました。 リンクしていただいたサイトを参考に試行錯誤でなんとか接続できました。 ありがとうございました(*^^*)

その他の回答 (2)

noname#244856
noname#244856
回答No.3

訂正 × コメントアウトすれば ○ アンコメントすれば

do79tama13
質問者

お礼

ご丁寧にありがとうございます。

noname#244856
noname#244856
回答No.2

Windowsだと自分でDLLをコンパイルする必要があるのでかなり面倒です。XAMPPに最初から付属しているものもありますが、php_pdo_ibm.dllは対象外のようでした。しかしphp_pdo_odbc.dllはphp.ini内に存在しており、これをコメントアウトすれば接続できたと自己解決している質問をStackOverflowで見つけましたので掲載しておきます。 StackOverflow - PHP PDO for IBM DB2 on windows http://stackoverflow.com/questions/17986521/php-pdo-for-ibm-db2-on-windows 但し IBM DB2 → ODBC IBM Driver → ODBC → PDO ODBC Driver → PDO という5段構えのインターフェースになってしまい、パフォーマンスは IBM DB2 → PDO IBM Driver → PDO IBM DB2 → db2_*関数 などの場合よりも多少悪くなると思います。

do79tama13
質問者

お礼

ご回答ありがとうございます。 こちらも試してみましたが、私の環境ですと表示までに時間がかかりました。 あとはMSSQLサーバーにIBMDB2サーバーのリンクサーバーを張りました。PHPからMSSQLサーバーに接続する方法でIBMDB2サーバーのデータを取得する方法で試してみたところ、こちらの方がレスポンスが早かったです。 リンク先参考になりました。 ご丁寧に回答していただきありがとうございました(#^^#)

関連するQ&A

  • xserverでデータベースを使用したPHPサイト

    のちのち携帯で運用するためにデータベースを使用したPHPのページを作成しています。 ローカルでxamppをインストールし、データベースと接続したプログラムをPHPで作成しました。 ローカルでは何の問題もなく表示され、エラーも出ません。 xserverでmysqlの設定をし、phpmyadminでテーブル等もローカルと同じように作成したのですが、PHPのページをパソコン上で表示させると真っ白になってしまいます。 もちろん、同じページを携帯からみても、『空白のページです』と表示されて真っ白の状態です。 いまいちサーバーUP後のphpiniのことなど理解していないせいで、この様な状態になっているのかもしれませんが、原因がよくわからないので、こういうことをしたらどうか、というアドバイスをいただければ幸いです。 ローカル環境 xamppバージョン1.7.7 PHP Version 5.3.8 phpmyadmin:3.4.5 mysqlサーバのバージョン: 5.5.16 xserver環境 PHP Version 5.3.3 phpmyadmin:2.11.11.3 mysqlサーバのバージョン: 5.0.77 もしxserver上でのphpiniの設定が関わっているようでしたら、その部分のアドバイスもいただければ幸いです。 また、文字コードを携帯で表示できるように(とりあえずdocomoで)設定していきたいのですが、過去にPGしたときはPC用に作成していたのですべてUTF8にしており、携帯用に作成する場合の、phpiniやPG上の表記などがよくわからずにおります。 ちなみにデータベース接続には、mysql.iniを使用し、ホスト名、接続ユーザ名、パスワード、接続データベース名を記載し、ローカルで接続用とxserver上で接続用と記載を変えて、それもサーバーにupしているのですが、これであっているのでしょうか… いろいろな携帯サイト作成向けの説明サイトを見て変更したりしたのですが、それぞれ書いてあることがバラバラで結局どのように変更すればよいのか混乱しております。 PG上ではこう表記してphpiniではここをこう表記したらどうか、などの具体的なアドバイスがいただければ大変うれしいです。 手探り状態で必死に学びながら作成しているので多々勘違いしている箇所もあるかと思いますので、文面をご覧いただいて是非アドバイスいただきたいです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPとデータベースの接続ができません

    開発環境はXamppで、OSはWindowsです。 データベースを使いたいと考えていますが、初心者で非常に困っています。 <?php $dsn = 'mysql:dbname=testdb1; host=127.0.0.1'; $usr = 'ユーザー名'; $passwd = 'パスワード'; try { $db = new PDO($dsn, $usr, $passwd); print '接続に成功しました'; $db = NULL; } catch (PDOException $e) { die("接続エラー:{$e->getMessage()}"); } 上記のファイル、connect.phpを実行しても、 Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\connect.php on line 3 と表示されてしまいます。 構文エラーだと思い、自分で出来る限りなおしたのですが解決できません。 どなたかアドバイスよろしくお願いいたします。

  • phpでmysql接続について

    こんにちは。phpでmysqlに接続するときmysql_connect関数を使っています。 VB等でデータベースに接続するとき、ADOなどの種類がありますが、mysql_connectはどのようにしてmysqlに接続しているのでしょうか? その仕組みを知りたいのですが、関数についてしか載ってません。 ご教授お願いいたします。

    • 締切済み
    • PHP
  • PHPによるMYSQL5.1への接続について

    急遽、仕事で接続先の変更を私がすることになったのですがPHPの知識を持っていない為困っています。 MYSQL4.0へのサーバーは以下の文で接続できるのですが MYSQL5.1へのサーバーは以下の文で接続ができません。 function getDBLink(){ $link = mysql_connect("データベースサーバ", "データベース名", "パスワード", "データベースユーザ名") or die("非接続"); mysql_query("SET NAMES utf8", $link); return $link; } 今までは上記の文で接続できたのですが 5.1への接続は上記のままでは出来ません。 これはMYSQLのバージョンの違いによる事が原因なのでしょうか? 検索しても新しいバージョンに対する対処方法を見つけることができません。 それとも別の原因があるのでしょうか? サーバーをレンタルしているさくらインターネットに問い合わせたところサーバー自体に問題はないとの事です。 知識、勉強の不足による質問の曖昧さもある事と思いますが どなたか御回答よろしくお願い致します。

    • 締切済み
    • PHP
  • php+mysqlを勉強したいのですが・・・

    mysqlは全くわからずでこれから勉強したいと思っております。 xamppをインストールして「mysql入門」などで検索してみたところ apacheとphpとmysqlをそれぞれ個別にインストールする前提で紹介されており データベースの作成方法もコマンドから入力という形でした。 試しにコマンドに「mysqlshow」と入力すると以下のようなエラーがでます。 (apache,mysqlの稼動は確認済みです) 内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません xamppは一括で簡単に必要な環境を作ることができるということだったので インストールしたのですが解決するには個別にインストールするしか ないのでしょうか? http://localhost/phpmyadmin/からであればデータベースを作成することができました。 xamppをDドライブにインストールしたのが原因?とも思ったのですが アドバイスなど頂けますと幸いです。 また、xamppの環境にてmysqlの説明をわかりやすくしているサイトなどがあれば教えて下さい。 mysqlは経験がなく右も左もわからない状態なのでわかりづらい質問かと思いますが 宜しくお願い致します。

    • 締切済み
    • PHP
  • PHPの設定でMySQLを有効にするには?

    現在Windowsを使ってPHPなどの勉強をしています PHPのプログラム上からデータベース(MySQL)に接続したいので、MySQLを有効にするためにphp.iniの「;extension=php_mysql.dll」から「;」を取るとMySQLが有効になると参考書には書いてあるのですが、有効になりません。 何か設定が足りないのでしょうか? 教えてください!!

    • 締切済み
    • PHP
  • PHPでMySQLのDBに接続

    PHP,MySQLが使えるレンタルサーバーを借りているのですが, PHPでMySQLに接続し、php_dbを選択をするようにしたいのですが、 この時DBファイルはどこに置けばいいのでしょうか? 現在はMySQLの管理コマンド(?)とは別にpublic_htmlの中に PHPフォルダを作り、そこにDBファイルを入れています。 PHPのスクリプトは <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><title>練習</title> <meta http-equiv="content-language" content="ja"> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> </head><body> <?php $con = mysql_connect(); if (!$con) { echo ("Error:MySQLに接続できませんでした。<br />"); } else { echo ("接続ID=$con<br>\n"); } $selectdb = mysql_select_db("php_db" ,$con); if (!$selectdb) { echo ("Error:データベースを選択できませんでした"); } else { echo ("データベースphp_dbを選択しました。"); } ?> </body></html> としています。 MySQLには接続ができるのですが、php_dbには接続ができません。 php_dbのおき場所を変えるのか、ファイルの指定が間違っているのか その他、どの要に変更をしたらよいのでしょうか? お願いします。 環境はレンタルサーバーがLINUXでPHPのバージョンなどはわからないんです・・・!! 開発がOSがW2kでFTPで転送してます。

    • ベストアンサー
    • PHP
  • PHPを始めるにあたって質問です。

    よろしくお願いします。 PHPを始めてみようかと思い、簡単な物をPHP5でPDOからMySQLを使って初めて書いて、 ローカル(XP + xampp と vmware上の ubuntu )では一応動いたのですが、 あるレンタルサーバーでは、PHP4.4.6でPDOが使えない様子で、 別なサーバーではPHP5.2.3なんですが、PDOのドライバがSQLiteしか使えないようでした。 そんなこんなで、お聞きしたいのですが、 PHPでデータベースを使った小規模なアプリケーションを書いて、レンタルサーバーで動かす場合に 無難というか、環境がそろいやすいというか、移植しやすい組み合わせというのがあれば教えて下さい。 例えば、 PHP5 + PDO + SQLite とか PHP4 + PEAR::DB + MySQL よろしくお願いします。

    • 締切済み
    • PHP
  • xampp(php,apache,mysql)で勉強しています。

    xampp(php,apache,mysql)で勉強しています。 データーベースにつなぐときに、コマンドプロンプトやphpmyadminから接続すると つなぐことができるのですが、phpのソースからmysqlに接続しようとすると、 Access denied for user 'ODBC'@'localhost' とのエラーがでます。 grantコマンドを使って権限の設定はしています。どうすればエラーが出なくなる でしょうか?

  • mysqlとphpの接続について

    過去にmysqlとphpの接続についていくつか質問を見ました。 mysqlに接続するだけのphpプログラムなのですが、以下のwarningが出ます。 ------------------------------------------------------------------------------ Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in C:\WWW\mysql.php on line 7 ------------------------------------------------------------------------------ versionの違いによる認証方式でこけているというのを見たのですが、 私の場合 php 4.4.1 mysql 5.0.17 なのですが、どう修正したらよいのでしょうか? このversionだとうまくいくと思っていたのですが。 すみませんが、ご回答御願します。

専門家に質問してみよう