質問 > 管理機能 > システムエラーが発生しました。 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
happy |
投稿日時: 2014/8/21 23:17
対応状況: −−−
|
半人前 登録日: 2014/8/21 居住地: 投稿: 12 |
システムエラーが発生しました。 お世話になります。
管理画面>受注管理>編集 と進むと、システムエラーが発生しました。大変お手数ですが、サイト管理者までご連絡ください。 と出てしまいます。 どうしたら元通りに直せるのかが、分かりかねます。 お手すきで、どうかお力添えをお願いいたします。 以下がエラーログになります。 Fatal error(E_USER_ERROR): DB処理でエラーが発生しました。 SQL: [SELECT id, name FROM mtb_country ORDER BY rank ] MDB2 Error: no such table prepare: [Error message: Unable to create prepared statement handle] [Last executed query: DEALLOCATE PREPARE mdb2_statement_pgsql_4ac8d87a7a20282ab855356cb1890fdf28462727c] [Native message: ERROR: relation "mtb_country" does not exist at character 22] on [/home/takenaka-kaisan.com/data/eccube/data/class/SC_Query.php(1008)] from 115.163.190.103 login_id = takenaka(0)[nuiu6e632ci4ah3t53vskm4me5] /home/takenaka-kaisan.com/data/public_html/admin/order/edit.php(33): LC_Page_Admin_Order_Edit_Ex->init /home/takenaka-kaisan.com/data/eccube/data/class_extends/page_extends/admin/order/LC_Page_Admin_Order_Edit_Ex.php(47): LC_Page_Admin_Order_Edit->init /home/takenaka-kaisan.com/data/eccube/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php(101): SC_DB_MasterData->getMasterData /home/takenaka-kaisan.com/data/eccube/data/class/db/SC_DB_MasterData.php(80): SC_DB_MasterData->createCache /home/takenaka-kaisan.com/data/eccube/data/class/db/SC_DB_MasterData.php(257): SC_DB_MasterData->getDbMasterData /home/takenaka-kaisan.com/data/eccube/data/class/db/SC_DB_MasterData.php(311): SC_Query->select /home/takenaka-kaisan.com/data/eccube/data/class/SC_Query.php(167): SC_Query->getAll /home/takenaka-kaisan.com/data/eccube/data/class/SC_Query.php(279): SC_Query->prepare /home/takenaka-kaisan.com/data/eccube/data/class/SC_Query.php(949): SC_Query->error /home/takenaka-kaisan.com/data/eccube/data/class/SC_Query.php(1008): trigger_error |
yuh |
投稿日時: 2014/8/21 23:56
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: システムエラーが発生しました。 no such tableなんでmtb_countryのテーブルが無いのが原因と思います。
とりあえずDB周りを確認してみるといいんじゃないでしょうか? |
happy |
投稿日時: 2014/8/22 10:39
対応状況: −−−
|
半人前 登録日: 2014/8/21 居住地: 投稿: 12 |
Re: システムエラーが発生しました。 回答ありがとうございます。
DBの知識が乏しいので苦戦しております。 教えて頂いた通り、 [/home/takenaka-kaisan.com/data/eccube/data/class/SC_Query.php(1008)] from 115.163.190.103 ここのソースを開いて mtb_country を検索したところ、mtb_countryもcountryすらもありませんでした。 どうしたら、このエラーは直せるのでしょうか? 教えていただきたいです、宜しくお願いいたします。 |
s_goto |
投稿日時: 2014/8/22 12:36
対応状況: −−−
|
常連 登録日: 2013/11/28 居住地: 投稿: 52 |
Re: システムエラーが発生しました。 /home/takenaka-kaisan.com/data/eccube/data/class_extends/page_extends/admin/order/LC_Page_Admin_Order_Edit_Ex.php(47)
↑を調べてはいかがでしょうか? mtb_countryを参照していませんか? |
oda |
投稿日時: 2014/8/22 12:44
対応状況: −−−
|
半人前 登録日: 2012/2/17 居住地: 投稿: 16 |
Re: システムエラーが発生しました。 > どうしたら、このエラーは直せるのでしょうか?
取り急ぎはmtb_countryがないのが問題なのでDBにテーブルを作ってあげる必要があります。
次の問題としてEC-CUBE標準でそのようなテーブルはないので カスタマイズで増やしているのだと思います。 マスタテーブルに値が入っていないことで予期しない動作になる可能性があります。 |
oda |
投稿日時: 2014/8/22 13:00
対応状況: −−−
|
半人前 登録日: 2012/2/17 居住地: 投稿: 16 |
Re: システムエラーが発生しました。 > 次の問題としてEC-CUBE標準でそのようなテーブルはないので
> カスタマイズで増やしているのだと思います。 > マスタテーブルに値が入っていないことで予期しない動作になる可能性があります。 よく見たらEC-CUBE2.13.Xで増えていました。 試しにEC-CUBE2.13.2を動かしてみていますが普通にインストールされている場合は 問題なくmtb_countryが作成されています。 ここから先は可能性の問題ですが EC-CUBE2.13以前のバージョンからプログラムソースのみを2.13.Xへ上書きされた場合はDB定義が異なるので上記エラーが出るかもしれません。 ただし、その場合はその他の場所でもエラーになりそうです。 |
happy |
投稿日時: 2014/8/22 19:15
対応状況: −−−
|
半人前 登録日: 2014/8/21 居住地: 投稿: 12 |
Re: システムエラーが発生しました。 回答ありがとうございます
s_gotoさま。 FFFTPで接続し、 data/eccube/data/class_extends/page_extends/admin/order/LC_Page_Admin_Order_Edit_Ex.php を開いてみたら <?php /* * This file is part of EC-CUBE * * Copyright(c) 2000-2012 LOCKON CO.,LTD. All Rights Reserved. * * http://www.lockon.co.jp/ * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // {{{ requires require_once CLASS_REALDIR . 'pages/admin/order/LC_Page_Admin_Order_Edit.php'; /** * 受注修正 のページクラス(拡張). * * LC_Page_Admin_Order_Edit をカスタマイズする場合はこのクラスを編集する. * * @package Page * @author LOCKON CO.,LTD. * @version $Id: LC_Page_Admin_Order_Edit_Ex.php 21867 2012-05-30 07:37:01Z nakanishi $ */ class LC_Page_Admin_Order_Edit_Ex extends LC_Page_Admin_Order_Edit { // }}} // {{{ functions /** * Page を初期化する. * * @return void */ function init() { parent::init(); } /** * Page のプロセス. * * @return void */ function process() { parent::process(); } /** * デストラクタ. * * @return void */ function destroy() { parent::destroy(); } } と書いてあり、mtb_countryはありませんでした。 どうしたら良いでしょうか? |
happy |
投稿日時: 2014/8/22 19:19
対応状況: −−−
|
半人前 登録日: 2014/8/21 居住地: 投稿: 12 |
Re: システムエラーが発生しました。 回答有難うございます。
odaさま。 知識が浅い私にはなかなか理解が難しいです。 CREATE TABLE mtb_country( id smallint, name text, rank smallint NOT NULL DEFAULT 0, PRIMARY KEY (id) ); このソースをどこかに上書きすれば良いのでしょうか? |
k_kawamata |
投稿日時: 2014/8/22 20:05
対応状況: −−−
|
新米 登録日: 2013/12/5 居住地: 投稿: 7 |
Re: システムエラーが発生しました。 ちょっと整理させていただきます。
想定される現象としては下記の流れかと思います。 ?ソース内でテーブルを読みに行く (今回はmtb_countryテーブル) ?テーブルが存在しないためシステムエラー ?を回避するため、 中身は空でも良いのでmtb_countryテーブルを作成するのが取り急ぎの対応になると考えます。 PhpPgAdminやPhpMyAdmin、もしくはSSHでpsqlなどSQLを発行できる環境はありますか? そこでEC-CUBEのDBに対して先述のSQLを発行すればmtb_countryテーブルが作成されます。 |
oda |
投稿日時: 2014/8/22 21:17
対応状況: −−−
|
半人前 登録日: 2012/2/17 居住地: 投稿: 16 |
Re: システムエラーが発生しました。 上記ソースは拡張クラス側なので具体的な処理は
data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php の方になります。 その中のinit()でmtb_countryへのアクセスが発生していると思います。 いま上記ソースを見て思ったのはCopyrightが
となっているということは EC-CUBE2.12.1もしくは2.12.2ぐらいのバージョンということですよね? ※EC-CUBE2.12.3からは2000-2013になっています。 であれば、そのバージョンにはmtb_countryというテーブルは存在しないので バージョン違いソースが混在しているような状態ではないかと予想します。 その場合、既存のパッケージににどのような作業を行ったのかが分からないと解決は難しいと思います。 情報が限られていますので何とも言えませんが 可能性としてあり得るのは ・決済モジュールなどでdata/class/pages/admin/order/LC_Page_Admin_Order_Edit.phpが上書きされている ・FTPの接続先を間違っている ・2.12で運用していて今回2.13へバージョンアップをし、 DBは今まで通りを参照している とかでしょうか?? |
(1) 2 3 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |