バージョン選択

フォーラム

メニュー

オンライン状況

35 人のユーザが現在オンラインです。 (25 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 35
もっと...

サイト内検索

質問 > フロント機能 > 別のもう一つの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

 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,915名です
総投稿数は110,009件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.