1

インポート時に大きなデータを含むことができるフィールドが1つありますが、CSVには約65000(おそらく65535 *)文字の非公式な制限があるようです。libreofficecalcとmagentoの両方がその特定のフィールドのデータを切り捨てているため。私はよく調べましたが、特殊文字や引用符が原因ではないと確信しています。データは非常に単純で、行の形式は互いに似ています。

質問:そのサイズを大きくするにはどうすればよいですか?または少なくとも私はそれを見つけるためにどこを見るべきですか?

注:libreoffice writerで数えたところ、約65040でした。ただし、キャリッジリターン文字を使用すると、65535に達する可能性があります。

4

3 に答える 3

2

私が変える:

1)テーブルcatalog_category_entity_text のフィールド「value」のタイプ(「text」から「longtext」)

2)ファイルapp / code / core / Mage / ImportExport / Model / Import / Entity / Abstract.php const DB_MAX_TEXT_LENGTH = 65536; const DB_MAX_TEXT_LENGTH = 16777215; そしてすべてOK

于 2013-05-14T15:57:23.690 に答える
1

確かに、Magentoには制限があります。これは、MySQLデータベースでテキストフィールドをTEXTとして設定し、MySQLのドキュメントによると、この種のフィールドは最大65535文字をサポートするためです。

http://dev.mysql.com/doc/refman/5.0/es/storage-requirements.html

したがって、MEDIUMTEXTを使用するようにMagentoデータベースの列タイプを変更できます。正しい場所はcatalog_product_entity_textテーブルにあると思います。ここで、ニーズに合わせて「value」フィールドタイプを変更する必要があります。ただし、これは危険であることに注意してください。試す前に完全バックアップを作成してください。また、コアファイルで遊ぶ必要があるかもしれません...お勧めしません!

400以上のリストから8つの製品で同じ問題が発生しています。Magentoのコアとデータベースを台無しにするつもりはないと思います。これらのいくつかの製品の説明文字列を減らすことができます。

于 2012-05-02T15:43:02.557 に答える
0

CSVはあまり気にしない可能性があります。Microsoft Accessでは、かなりの量のデータを含むことができるメモフィールドが許可されているため、CSV形式で2〜3kの説明をエクスポートして、Magentoに正常にインポートできました。

制限は、セル制限またはセルのエクスポート制限があるスプレッドシートを使用しているか、インポートしようとしているフィールドのテーブルにそのフィールドの最大文字数制限が設定されているためです。

後者を判別するには、phpMyAdminを使用して、そのフィールドの最大文字設定を確認します。

于 2012-04-09T15:48:21.313 に答える