ECS : erreur de migration ECSSync : MySQLSyntaxErrorException : colonne « source_md5 » inconnue dans « liste de champs »

摘要: La migration ECSSync se termine instantanément sans qu’aucun des clips Centera ne soit réellement migré.

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

Le problème se produit lors d’une migration d’ECSSync de Centera vers ECS.

La migration ECSSync se termine instantanément sans aucun des clips Centera à migrer.
Dans le fichier /var/log/ecssync/ecs-sync.log, l’erreur suivante apparaît :

2020-05-04 03:08:38 WARN  [sync-pool-1-t-15] SyncTask: O--! object DNVBT3VHL1NE1e2NMV9CJDMQV5FG41BCFNF5EM0AC0A4KU05821DC failed
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'source_md5' in 'field list'
        at sun.reflect.GeneratedConstructorAccessor29.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        ... <output truncated> ..

 

原因

L’erreur se produit car vous utilisez une table de base de données qui a été créée par une version antérieure d’ECSSync.

Vous trouverez ci-dessous un exemple de tableau créé conformément à la dernière procédure. Ce tableau n’inclut pas la colonne source_md5 :

MariaDB [ecs_sync]> describe <table_name>;
+-------------------+---------------+------+-----+---------+-------+
| Field             | Type          | Null | Key | Default | Extra |
+-------------------+---------------+------+-----+---------+-------+
| source_id         | varchar(54)   | NO   | PRI | NULL    |       |
| target_id         | varchar(54)   | YES  |     | NULL    |       |
| is_directory      | int(11)       | NO   |     | NULL    |       |
| size              | bigint(20)    | YES  |     | NULL    |       |
| mtime             | datetime      | YES  |     | NULL    |       |
| status            | varchar(32)   | NO   | MUL | NULL    |       |
| transfer_start    | datetime      | YES  |     | NULL    |       |
| transfer_complete | datetime      | YES  |     | NULL    |       |
| verify_start      | datetime      | YES  |     | NULL    |       |
| verify_complete   | datetime      | YES  |     | NULL    |       |
| retry_count       | int(11)       | YES  |     | NULL    |       |
| error_message     | varchar(2048) | YES  |     | NULL    |       |
| is_source_deleted | int(11)       | YES  |     | NULL    |       |
+-------------------+---------------+------+-----+---------+-------+
13 rows in set (0.00 sec)

ECSSync version 3.2.9 a ajouté une colonne au tableau de base de données pour suivre la somme de contrôle MD5 source (ceci est mentionné dans les notes de mise à jour).

 

解决方案

Après la mise à niveau vers cette version, vous devez créer une nouvelle table de base de données ou ajouter la colonne appropriée. Exécutez les opérations suivantes dans un shell MySQL :

alter table <table_name> add column source_md5 VARCHAR(32);

Le tableau doit ressembler à l’exemple suivant, avec la colonne supplémentaire :

MariaDB [ecs_sync]> describe <table_name>;
+-------------------+---------------+------+-----+---------+-------+
| Field             | Type          | Null | Key | Default | Extra |
+-------------------+---------------+------+-----+---------+-------+
| source_id         | varchar(54)   | NO   | PRI | NULL    |       |
| target_id         | varchar(54)   | YES  |     | NULL    |       |
| is_directory      | int(11)       | NO   |     | NULL    |       |
| size              | bigint(20)    | YES  |     | NULL    |       |
| mtime             | datetime      | YES  |     | NULL    |       |
| status            | varchar(32)   | NO   | MUL | NULL    |       |
| transfer_start    | datetime      | YES  |     | NULL    |       |
| transfer_complete | datetime      | YES  |     | NULL    |       |
| verify_start      | datetime      | YES  |     | NULL    |       |
| verify_complete   | datetime      | YES  |     | NULL    |       |
| retry_count       | int(11)       | YES  |     | NULL    |       |
| error_message     | varchar(2048) | YES  |     | NULL    |       |
| is_source_deleted | int(11)       | YES  |     | NULL    |       |
| source_md5        | varchar(32)   | YES  |     | NULL    |       |
+-------------------+---------------+------+-----+---------+-------+
14 rows in set (0.00 sec)

MariaDB [ecs_sync]>

(où <table_name> est le nom de votre table existante).

 

受影响的产品

ECS
文章属性
文章编号: 000081990
文章类型: Solution
上次修改时间: 07 7月 2026
版本:  5
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。