• 締切済み

ADODB接続のORマッパー

DBについての知識があまりないので質問します。 WindowsAzureを使ってアプリケーションを作成しています。 言語 PHP データベース AzureSQL、MySQL PHP 5.3 ADODB接続 使用するDBが複数になる可能性があるので、ORマッパーを使用して、SQL実行時は共通化したいと考えています。 MDB2接続の場合、PEARでドライバが用意されていますが、ADODB接続の場合SQLAzure接続時のORマッパーはありますか? 知識が乏しいので、言語の使い方がおかしいかと思いますが、よろしくお願いします。

みんなの回答

noname#147388
noname#147388
回答No.1

以下のカテゴリは Microsft SQL Server ターゲットのため PHP 専用カテゴリのほうが回答を得られると思いますよ。 [技術者向] コンピューター > データベース > SQL Server

関連するQ&A

  • DB接続関連の処理をまとめたい

    DB接続処理関連の処理をまとめたいと考えています。 PHP4 + Mysql 4 Pear DBを使用中 おそらく、common.phpとかに connectDB()などと書くものだと思うのですが 詳細がわかりません。 なにか参考になるようなものはありませんか? とりあえず、1つのphpからDBに接続して 値を表示するところまではできました。

  • DBとMDB2接続

    DB接続していたものをMDB2接続に変更し、INSERTを行うとエラーが発生しています。 DB接続時はMySQL、MDB2接続ではsql Server を使用しています。 INT型でNULL禁止になっているところに値をNULL(もしくは空文字)で入れると(INSERT直前の値をvar_dumpするとSTRING(0) = > "" となっています)、DB接続の場合は0が登録されています。 文字列型の箇所には0ではなく、そのまま空文字として登録されています。 MDB2接続の場合は、下記のエラーが発生しています。 Error converting data type nvarchar to numeric ソースや使用していすシステムは都合により、掲載できないのですが、質問したいことは、 1、DB接続だと空文字を0に変換する機能になっている? 2、MySQLの使用で空文字を0に変換する?sql Serverだとならないのか。 もしMDB2接続で上記のエラーに対する対策方法があれば教えていただけますか? なお、一つ一つ変更するのが、簡単ですが、量が多いので極力避けたいと考えています。 よろしくお願いいたします。

  • PEAR AuthをPEAR DBなしで使いたいです

    PEAR AuthをPEAR DB、MDBを使わずに使用したい のですが可能でしょうか? (PEAR DB、MDBを使わずにDB接続しているので、DBへの2回接続することを避けたいのです)

    • 締切済み
    • PHP
  • PEAR::MB2によるPHP+MySQLについて

    PEAR::MB2でPHP+MySQLを勉強中なのですが、特定カラムの値を取得することができません。 下記のソースコードで、変数$aaaをechoで参照すると空白となってしまいます。 大変恐縮ですがご教授のほどよろしくお願いいたします。 [環境]----------------------------------------------------------- OS: windows7(64bit) PHP: ver5.3.8 MySQL: ver5.5 Pear::MDB2  pear/MDB2 2.5.0b3 2.4.1 database abstraction layer  pear/MDB2_Driver_fbsql 0.2.0 fbsql MDB2 driver  pear/MDB2_Driver_ibase 1.5.0b3 ibase MDB2 driver  pear/MDB2_Driver_mssql 1.5.0b3 mssql MDB2 driver  pear/MDB2_Driver_mysql 1.5.0b3 1.4.1 mysql MDB2 driver  pear/MDB2_Driver_mysqli 1.5.0b3 mysqli MDB2 driver  pear/MDB2_Driver_oci8 1.5.0b3 oci8 MDB2 driver  pear/MDB2_Driver_odbc 0.1.0 ODBC Driver for MDB2  pear/MDB2_Driver_pgsql 1.5.0b3 pgsql MDB2 driver  pear/MDB2_Driver_querysim 0.6.0 querysim MDB2 driver  pear/MDB2_Driver_sqlite 1.5.0b3 sqlite MDB2 driver  pear/MDB2_Driver_sqlsrv 1.5.0b3 sqlsrv MDB2 driver  pear/MDB2_Schema 0.8.5 XML based database schema manager  pear/MDB2_TableBrowser 0.1.2 Database table abstraction library (pear list -allから一部抜粋) [ソースコード]----------------------------------------------------------- require_once("MDB2.php"); $dsn = "mysql://user:pass@localhost/db_name"; $conn = MDB2::connect($dsn); // 接続に失敗したらメッセージを表示して終了 if (MDB2::isError($conn)){ die($conn->getMessage()); } //フェッチモード設定 $conn->setFetchMode(MDB2_FETCHMODE_ASSOC); //SELECT文 $sql = <<<EOS SELECT * FROM db_table WHERE name = 'taro' EOS; //実行 $res = $conn->query($sql); //エラーチェック if (PEAR::isError($res)) { die($res->getMessage()); } //値の取得 $row = $res->fetchRow(); //変数$aaaに、別カラム値(例:miyoji)を格納 $aaa = $row['miyoji']; echo "$aaa"; //←(例)mysqlから田中といった苗字を出力したい。 //クローズ $conn->disconnect(); ----------------------------------------------------------------------- エラー出力はありません。

    • ベストアンサー
    • PHP
  • データベースの設定ファイルとSQL実行ファイルを分けたいです。

    はじめまして。 PHPを触り始めの者です。 今、mysqlに接続するPHPファイルを作って 接続までは行って成功はしました。 書き方としては、 http://www.phpbook.jp/tutorial/mysql/index3.html このページにあるような感じです。 その次に別でSQLを実行するPHPファイルを作り、 そこでSQLを実行することができません。 SQLは試した結果、間違いはないです。 SQL実行ファイル側でrequire_onceで 設定ファイルの読み込みさせて、次にすぐSQLを変数に入れて、 $result = mysql_query($sql)のような形で 出してみているのですが、 全然SQLの結果がprint_r($result)でプリントできません。 結果はたぶん配列状になる感じです。 何が悪いのでしょうか? 何か初心者でも見てわかる 簡単なDB接続専用ファイルとSQLコマンド専用ファイルを 分けて使ったサンプルソースなどがあれば教えてください。 全然、わからないのでそれに交えて解説していただけると 大変ありがたいです。よろしくお願いします。 またsmartyも使用できる環境みたいなので、 これをできれば使用したいのですが、 どのようにDBにつないだ ファイルを外部ファイルとして読み込みさせて 使用したらいいのでしょうか? 検索をかけてもpearとの絡みばかりでよくわかりません。 pearというものは調べた結果、 使用してるサーバ内に入ってない状態です。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • FC4でmysqlを使用して PEAR DB への接続ができない

    FC4に、yumでPHP5.0.4、php-pear-5.0.4、php-mysql-5.0.4、(mysql-4.1.20,mysql-server-4.1.20)をインストールしました。 <?php $con = mysql_connect("localhost","taro","password") or die("接続出来ません"); print "接続しました"; mysql_close($con); ?> を実行すると、「接続しました」と出ます。ところが、 <HTML> <HEAD><TITLE>PHP test</TITLE></HEAD> <BODY> <?php require_once("DB.php"); $dbUser="taro"; $dbPass="password"; $dbHost="localhost"; $dbName="testdb"; $dbType="mysql"; $dsn="$dbType://$dbUser:$dbPass:@$dbHost/$dbName"; $conn = DB::connect($dsn); if(DB::isError($conn)){ die($conn->getMessage()); } print ('DBに接続しました'); $conn->disconnect(); ?> </BODY></HTML> を実行すると、DB Error: connect failed と出て、接続できません。 php.iniは、 include_path = ".:/usr/share/pear:/php/includes" としてあり、 [root@FC4 ~]# ls -l /usr/share/pear/ で調べても drwxr-xr-x 2 root root 4096 5月 27 18:06 DB -rw-r--r-- 1 root root 38937 11月 8 2005 DB.php となっています。 パスの切り方が間違っているでしょうか? どのようにすれば接続できるでしょうか?よろしくお願い致します。

    • ベストアンサー
    • MySQL
  • PEAR MDB2 のsetFetchModeが設定がうまくいきません

    お世話になります。 Pearのmdb2を使用し始めたのですが、 setFetchMode(DB_FETCHMODE_ASSOC) の記述をしても、データが連想配列形式になりません。 (数値添え字の配列になってしまいます。) 何か問題として考えられることはありませんでしょうか。 環境は、 CentOS5 apache 2.2.3 php 5.1.6 mysql 5.0.22 (すべてRPM) です。 ソースは下記のとおりです。 $mdb2 =& MDB2::connect( $dsn, array() ); if( PEAR :: isError( $mdb2 ) ){ $errmsg .= "データベースの接続に失敗しました。<br />"; }else{ //連想配列で取り出す $mdb2->setFetchMode(DB_FETCHMODE_ASSOC); $res =& $mdb2->query('SELECT * FROM tablename'); if (PEAR::isError($res)) { $errmsg .= "SQLの実行に失敗しました。<br />"; } print("<pre>"); while ($row = $res->fetchRow()) { print_r($row); } print("</pre>"); // 接続断 $mdb2->disconnect(); } アドバイスがあればぜひよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PEAR::DBでのMySQL接続

    初心者で、環境が分からなくて困っています。 環境は、OS:Win2000 , PHP-V5.2.4 , MySQL-V5.0.45 , PEAR::DB -V1.7.13 です。 MySQLと、PEAR::DBをインストールして、CONNECTするPGを実行したところ、CONNECTエラーとなりました。 1.PHPソース require_once("DB.php"); $dsn="mysqli://pearusr:pearpass@localhost/pear"; $option=array( "autofree"=> TRUE, "debug"=>3, "portability"=> DB_PORTABILITY_ALL); $db=DB::connect($dsn,$option); if(DB::isError($db)){ die("接続失敗:".$db->getMessage().$db->getCode().$db->getDebuginfo()); } print("データベースへの接続に成功しました。"); $db->disconnect(); 2.エラーメッセージ 接続失敗:DB Error: connect failed-24 [nativecode=Can't connect to MySQL server on 'localhost' (10061)] ** mysqli://pearusr:pearpass@localhost/pear MySQL側の環境について、他QAでいろいろ教えていただき、ちゃんと起動できていそうです。 そうすると、次に疑うのは、PEAR::DBの環境がおかしいのではないか? という想像のもと、PEAR::DBの環境設定まわりで、確認すべき項目を教えていただけませんか。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • MDB接続

    PHP、MDB接続時に下記のようなエラーメッセージが出力されるのですが、原因が今一つ掴めません・・・。 Fatal error: Call to undefined function: query() in /home/h041117455-1087/www/test/yoyaku/studio.php on line 27 プログラムの方では、 <? require_once("MDB.php"); global $db; /********************************* * DB接続 ********************************/ $dsn = "pgsql://nobody:@localhost/yoyaku"; // データベースへ接続 $db = MDB::connect($dsn); if (MDB::isError($err)) { echo "接続NG" . $err; } else { echo "接続OK"; // Ast、Bst予約確認 $sql = "select YOYAKU_CODE from T_YOYAKU where YOYAKU_ID = '" . $l . "'"; $result = $db->query($sql); } と記述しております。 $result = $db->query($sql); の部分でエラーが発生しているのはわかるのですが、原因がつかめません。 申し訳ありませんが、ご教授お願い致します。

    • ベストアンサー
    • PHP
  • PEARのDBが動かない・・orz

    PEARのDBを使ってMYSQLに接続しようとしているのですが、動作しません。 試しに↓のようなコードを書いたところ 画面「a」は出たのですが「b」が出ませんでした。 --コード----------------------------------------- require_once("DB.php"); $dsn = "mysql://user:password@localhost/db_name; echo("a"); $db = DB::connect($dsn , true); echo("b"); -------------------------------------------------- なにかエラーがでれば手がかりになるのですが、 エラーも何もでません。 MDB2で試しても結果は同じでした。 解決方法を教えて頂けないでしょうか? ちなみにPHPのversionは5.1.2 MYSQLは4.1.7になります。

    • 締切済み
    • PHP