バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 商品詳細に文字入力して登録するとシステムエラーが発生する。

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
coconem
投稿日時: 2023/5/15 15:17
対応状況: −−−
新米
登録日: 2023/5/15
居住地:
投稿: 3
商品詳細に文字入力して登録するとシステムエラーが発生する。
[EC-CUBE] 4.1.0
[レンタルサーバ] CPI
[OS] FreeBSD haw1022.secure.ne.jp 12.2-RELEASE-p4 FreeBSD 12.2-RELEASE-p4 GENERIC amd64
[PHP] 7.2.34
[データベース] PostgreSQL 9.5.20 on amd64-portbld-freebsd12.1, compiled by FreeBSD clang version 8.0.1
[WEBサーバ] Apache
[ブラウザ] chrome
[導入プラグインの有無] Web API、Coupon Plugin for EC-CUBE4、EC-CUBEペイメントLite4、Google Merchant Center、メールマガジンプラグイン、商品レビュー管理プラグイン、おすすめ商品管理プラグイン、関連商品プラグイン、売上集計プラグイン、Securitychecker4、Site Kit プラグイン、クロネコヤマト カード・後払い一体型決済サービス、ゼウス決済プラグイン
[カスタマイズの有無] 無し
[現象] 商品詳細に文字を入力して登録しようとするとシステムエラーが起こり、登録できない状態です。以下がシステムエラーの該当ログです。原因や復旧方法が分かる方がいらっしゃいましたら、教えていただきたいです。お願いいたします。

[システムエラー該当ログ]  [2023-05-15 14:51:38] admin.ERROR [c9301dc0] [9a8cad7] [1] [Eccube\Log\Logger:log:64] - システムエラーが発生しました。 ["An exception occurred while executing 'UPDATE dtb_product SET description_detail = ?, update_date = ? WHERE id = ?' with params [\"\\u30b7\\u30eb\\u30af\\u306e\\(\\u30b7\\u30eb\\u30af\\u306e\\が繰り返されているため省略しています。)n012345678901234567890123456789\", \"2023-05-15 05:51:38+0000\", 24]:\n\nSQLSTATE[22001]: String data, right truncated: 7 ERROR: value too long for type character varying(4000)","/usr/home/haw1022zmari/html/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractPostgreSQLDriver.php",102,"#0 /usr/home/haw1022zmari/html/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php(182): Doctrine\\DBAL\\Driver\\AbstractPostgreSQLDriver->convertException('An exception oc...', Object(Doctrine\\DBAL\\Driver\\PDO\\Exception))\n#1 /usr/home/haw1022zmari/html/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php(159): Doctrine\\DBAL\\DBALException::wrapException(Object(Doctrine\\DBAL\\Driver\\PDO\\PgSQL\\Driver), Object(Doctrine\\DBAL\\Driver\\PDO\\Exception), 'An exception oc...')\n#2 /usr/home/haw1022zmari/html/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(2212): Doctrine\\DBAL\\DBALException::driverExceptionDuringQuery(Object(Doctrine\\DBAL\\Driver\\PDO\\PgSQL\\Driver), Object(Doctrine\\DBAL\\Driver\\PDO\\Exception), 'UPDATE dtb_prod...', Array)\n#3 /usr/home/haw1022zmari/html/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(1527): Doctrine\\DBAL\\Connection->handleExceptionDuringQuery(Object(Doctrine\\DBAL\\Driver\\PDO\\Exception), 'UPDATE dtb_prod...', Array, Array)\n#4 /usr/home/haw1022zmari/html/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(1473): Doctrine\\DBAL\\Connection->executeStatement('UPDATE dtb_prod...', Array, Array)\n#5 /usr/home/haw1022zmari/html/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php(505): Doctrine\\DBAL\\Connection->executeUpdate('UPDATE dtb_prod...', Array, Array)\n#6 /usr/home/haw1022zmari/html/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php(394): Doctrine\\ORM\\Persisters\\Entity\\BasicEntityPersister->updateTable(Object(Eccube\\Entity\\Product), 'dtb_product', Array, NULL)\n#7 /usr/home/haw1022zmari/html/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php(1172): Doctrine\\ORM\\Persisters\\Entity\\BasicEntityPersister->update(Object(Eccube\\Entity\\Product))\n#8 /usr/home/haw1022zmari/html/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php(407): Doctrine\\ORM\\UnitOfWork->executeUpdates(Object(Doctrine\\ORM\\Mapping\\ClassMetadata))\n#9 /usr/home/haw1022zmari/html/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php(371): Doctrine\\ORM\\UnitOfWork->commit(NULL)\n#10 /usr/home/haw1022zmari/html/var/cache/prod/ContainerRMtHJxb/EntityManager_9a5be93.php(86): Doctrine\\ORM\\EntityManager->flush(NULL)\n#11 /usr/home/haw1022zmari/html/src/Eccube/Controller/Admin/Product/ProductController.php(496): EntityManager_9a5be93->flush()\n#12 /usr/home/haw1022zmari/html/vendor/symfony/http-kernel/HttpKernel.php(158): Eccube\\Controller\\Admin\\Product\\ProductController->edit(Object(Symfony\\Component\\HttpFoundation\\Request), '24', Object(Symfony\\Bundle\\FrameworkBundle\\Routing\\Router), Object(Eccube\\Util\\CacheUtil))\n#13 /usr/home/haw1022zmari/html/vendor/symfony/http-kernel/HttpKernel.php(80): Symfony\\Component\\HttpKernel\\HttpKernel->handleRaw(Object(Symfony\\Component\\HttpFoundation\\Request), 1)\n#14 /usr/home/haw1022zmari/html/vendor/symfony/http-kernel/Kernel.php(201): Symfony\\Component\\HttpKernel\\HttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#15 /usr/home/haw1022zmari/html/index.php(76): Symfony\\Component\\HttpKernel\\Kernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request))\n#16 {main}"] [POST, /coconemadmin555/product/product/24/edit, 133.206.133.33, https://coconem.com/coconemadmin555/product/product/24/edit, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36]
[2023-05-15 14:51:38] php.INFO [c9301dc0] [9a8cad7] [1] [Symfony\Component\ErrorHandler\ErrorHandler:handleError:532] - User Deprecated: The "Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent::getException()" method is deprecated since Symfony 4.4, use "getThrowable()" instead. {"exception":"[object] (ErrorException(code: 0): User Deprecated: The \"Symfony\\Component\\HttpKernel\\Event\\GetResponseForExceptionEvent::getException()\" method is deprecated since Symfony 4.4, use \"getThrowable()\" instead. at /usr/home/haw1022zmari/html/vendor/symfony/http-kernel/Event/GetResponseForExceptionEvent.php:57)"} [POST, /coconemadmin555/product/product/24/edit, 133.206.133.33, https://coconem.com/coconemadmin555/product/product/24/edit, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36]
[2023-05-15 14:51:38] admin.INFO [c9301dc0] [9a8cad7] [1] [Eccube\Log\Logger:log:64] - 商品登録開始 ["24"] [POST, /coconemadmin555/product/product/24/edit, 133.206.133.33, https://coconem.com/coconemadmin555/product/product/24/edit, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36]
yuh
投稿日時: 2023/5/15 15:29
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 商品詳細に文字入力して登録するとシステムエラーが発生する。
ERROR: value too long for type character varying(4000)

なので、文字列の長さが4000を超えている事が原因でエラーが発生しています。
カラム自体のデータタイプを変更するか文字列の長さを短くすることで対応できるかと思います。


----------------


http://ec-lab.net/

coconem
投稿日時: 2023/5/15 16:38
対応状況: −−−
新米
登録日: 2023/5/15
居住地:
投稿: 3
Re: 商品詳細に文字入力して登録するとシステムエラーが発生する。
yuh様

教えていただきありがとうございます。

以前は以下のように、100,000文字まで商品詳細に入力できるようコードを書き換え、実際に入力できていました。

new Assert\Length(['max' => $this->eccubeConfig['eccube_ltext_len']]),
とある部分を
new Assert\Length(['max' => 100000]),

その後しばらくして、今のようにシステムエラーが起こる状態になりました。

コードは以前のままなのですが、4000文字を超えるとエラーが起きるようになった原因など分かりますでしょうか?
mcontact
投稿日時: 2023/5/15 18:21
対応状況: −−−
登録日: 2022/1/22
居住地:
投稿: 1285
Re: 商品詳細に文字入力して登録するとシステムエラーが発生する。
引用:
ERROR: value too long for type character varying(4000)


上記のエラーは利用しているデータベースの、
dtb_productテーブルdescription_detailカラムに対して登録しようとしたデータが、description_detailカラムに対して4000文字の制限を超えていますというエラーです。

引用:
以前は以下のように、100,000文字まで商品詳細に入力できるようコードを書き換え、実際に入力できていました。

new Assert\Length(['max' => $this->eccubeConfig['eccube_ltext_len']]),
とある部分を
new Assert\Length(['max' => 100000]),


こちらのカスタマイズは、商品詳細の入力制限チェックを100000文字までの制限にしているだけなのでデータベース上の登録できる制限を増やしているコードではありません。


----------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EC-CUBEインテグレートパートナー【ゴールド】ランク
M&I Works
URL: https://miworks.biz/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

coconem
投稿日時: 2023/5/16 10:27
対応状況: −−−
新米
登録日: 2023/5/15
居住地:
投稿: 3
Re: 商品詳細に文字入力して登録するとシステムエラーが発生する。
mcontact様

詳細に教えていただきありがとうございます。
現状の問題を理解することができました。

以下の流れで解決できるのでしょうか?

Productエンティティ内で定義してる
@ORM\Column(name="description_detail", type="string", length=4000, nullable=true)

のlengthの値変更。

データベースに反映
bin/console doctrine:schema:update --dump-sql
bin/console doctrine:schema:update --dump-sql --force
mcontact
投稿日時: 2023/5/16 12:22
対応状況: −−−
登録日: 2022/1/22
居住地:
投稿: 1285
Re: 商品詳細に文字入力して登録するとシステムエラーが発生する。
今回は、既存テーブルと既存カラムの変更の様なのでこちらを参考に
https://noveblo.com/eccube-customize-17/


----------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EC-CUBEインテグレートパートナー【ゴールド】ランク
M&I Works
URL: https://miworks.biz/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,710名です
総投稿数は109,948件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1285
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.