質問 > フロント機能 > 別のもう一つのDatabaseにアクセスする方法 |
フロント機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
osamuya |
投稿日時: 2014/6/4 13:11
対応状況: −−−
|
常連 登録日: 2013/2/4 居住地: 東京 投稿: 65 |
別のもう一つのDatabaseにアクセスする方法 いつもお世話になっております。 EC-CUBEで利用しているDB以外からある値をinsert,update,deleteみたいなことをしたくて、いろいろやっている最中ではあるのですが、/pages/以下のクラスファイル内のaction()内にSC_Helper_DBをよんで直接$dsnに別DBのパラメーターを入れてやってみたのですが、 $cdb = new SC_Helper_DB(); $dsn = array('phptype' => DB_TYPE, 'username' => DB_USER, 'password' => DB_PASSWORD, 'protocol' => 'tcp', 'hostspec' => DB_SERVER, 'port' => DB_PORT, 'database' => 'another_DB', ); $re = $cdb->sfColumnExists('M_USER','USER_ID','',$dsn,'false'); 最後の$cdb->sfColumnExistsを実行するとエラーになってしまいます。 EC-CUBEのデフォルトのDB接続の際のセッションを見にいって「ない」といって叱られている模様です。 おそらくなのですが、 ・セッションをスキップするか、 ・同様にセッションを書き込んであげるか、 (あるいは全く別の方法があるか…) だと思うのですが、具体的にどうすればよいのかは今調べている最中です。 その対象の別DBには、EC-CUBE以外からはアクセスできていて普通に使えます。 また、 $db = mysql_connect ('localhost', 'another_user', 'xxxxxxxx'); mysql_query("set names utf8"); mysql_select_db('another_DB'); ..... というように普通に書いてみましたが、同じようにdtb_sessionにセッションがないといって叱られました。 もし詳しい方でこのようなカスタマイズしたことのある方、 または、すでにこのようなカスタマイズしたことのある方いましたら、 何かしらご教授お願いできますでしょうか。 よろしくお願いいたします。 EC-CUBEのログ Fatal error(E_USER_ERROR): DB処理でエラーが発生しました。 SQL: [SELECT CASE WHEN EXISTS(SELECT * FROM dtb_session WHERE sess_id = ? ) THEN 1 ELSE 0 END] MDB2 Error: no such table _doQuery: [Error message: Could not execute statement] [Last executed query: PREPARE mdb2_statement_mysql_15xx7cb06cecc9dfxx19a1d6fc3df9aa3c3dbcacxx FROM 'SELECT CASE WHEN EXISTS(SELECT * FROM dtb_session WHERE sess_id = ? ) THEN 1 ELSE 0 END'] [Native code: 1146] [Native message: Table 'shop.dtb_session' doesn't exist] on [/home/shop/data/class/SC_Query.php(1007)] from 123.456.789.xxx customer_id = (): session_write_close (): SC_Helper_Session->sfSessWrite /home/shop/data/class/helper/SC_Helper_Session.php(89): SC_Query->exists /home/shop/data/class/SC_Query.php(151): SC_Query->getOne /home/shop/data/class/SC_Query.php(647): SC_Query->prepare /home/shop/data/class/SC_Query.php(948): SC_Query->error /home/shop/data/class/SC_Query.php(1007): trigger_error 環境 EC-CUBE 2.12.6 Linux epsfzecw 2.6.32-042stab055.16 #1 SMP Fri Jun 8 19:22:28 MSD 2012 x86_64 MySQL 5.1.73 Apache/2.2.15 (CentOS) PHP 5.3.3 (Core, date, ereg, libxml, openssl, pcre, zlib, bz2, calendar, ctype, hash, filter, ftp, gettext, gmp, session, iconv, Reflection, standard, shmop, SPL, SimpleXML, sockets, exif, tokenizer, xml, apache2handler, curl, dom, fileinfo, gd, json, mbstring, mysql, mysqli, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, sqlite3, wddx, xmlreader, xmlwriter, xsl, zip) GD 有効 (GD Version => bundled (2.0.34 compatible), FreeType Support => 1, FreeType Linkage => with freetype, T1Lib Support => , GIF Read Support => 1, GIF Create Support => 1, JPEG Support => 1, PNG Support => 1, WBMP Support => 1, XPM Support => 1, XBM Support => 1, JIS-mapped Japanese Font Support => ) HTTPユーザーエージェント Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» 別のもう一つのDatabaseにアクセスする方法 | osamuya | 2014/6/4 13:11 |
Re: 別のもう一つのDatabaseにアクセスする方法 | shutta | 2014/6/4 15:12 |
Re: 別のもう一つのDatabaseにアクセスする方法 | osamuya | 2014/6/4 18:00 |
Re: 別のもう一つのDatabaseにアクセスする方法 | shutta | 2014/6/4 18:30 |
Re: 別のもう一つのDatabaseにアクセスする方法 | osamuya | 2014/6/9 15:26 |