J'ai modifié il y a quelques semaines mon installation de WAMP. Je
viens de demander la commande load data que je n'avais pas utilisée
depuis cette ré-installation et cela ne fonctionne plus. J'ai changé
de version de WAMP, ayant effacé certains fichiers du système suite à
un plantage de Windows 7.
WAMP semble bien fonctionner sauf cette commande !
load data infile
'C:/Users/moi/fichier.csv'
replace into table indi
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
lines terminated by '
'
J'ai eu d'abord une erreur de secure priv corrigée (nouvelle valeur
par défaut). Mais maintenant, j'ai cette erreur :
#1366 - Incorrect integer value: '' for column 'base' at row 1
J'utilise load data pour lire des fichiers CSV et il y a toujours
des valeurs disons irrégulières dans les colonnes avec des chiffres.
Cela a fonctionné pendant plusieurs années, avec sans doute une
version précédente de WAMP. Qu'est-ce que je dois changer pour
accepter des valeurs avec un format non prévu ?
base est bigint(20) et j'ai beaucoup de lignes vides ou du texte.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Otomatic
Denis Beauregard écrivait :
Cela a fonctionné pendant plusieurs années, avec sans doute une version précédente de WAMP. Qu'est-ce que je dois changer pour accepter des valeurs avec un format non prévu ?
Remettre la même version MySQL que celle avec laquelle il n'y avait pas d'erreur. -- Un ordinateur résout des problèmes que nous n'aurions pas sans lui Technique aéronautique : http://aviatechno.net
Cela a fonctionné pendant plusieurs années, avec sans doute une
version précédente de WAMP. Qu'est-ce que je dois changer pour
accepter des valeurs avec un format non prévu ?
Remettre la même version MySQL que celle avec laquelle il n'y avait pas
d'erreur.
--
Un ordinateur résout des problèmes que nous n'aurions pas sans lui
Technique aéronautique : http://aviatechno.net
Cela a fonctionné pendant plusieurs années, avec sans doute une version précédente de WAMP. Qu'est-ce que je dois changer pour accepter des valeurs avec un format non prévu ?
Remettre la même version MySQL que celle avec laquelle il n'y avait pas d'erreur. -- Un ordinateur résout des problèmes que nous n'aurions pas sans lui Technique aéronautique : http://aviatechno.net
Denis Beauregard
Le Wed, 27 Mar 2019 09:57:20 +0100, Otomatic écrivait dans fr.comp.applications.sgbd:
Denis Beauregard écrivait :
Cela a fonctionné pendant plusieurs années, avec sans doute une version précédente de WAMP. Qu'est-ce que je dois changer pour accepter des valeurs avec un format non prévu ?
Remettre la même version MySQL que celle avec laquelle il n'y avait pas d'erreur.
Cela n'aurait pas fonctionner car le problème était dans la configuration (qui n'a pas été conservée). La solution : Activer ces lignes dans le fichier my.ini : secure_file_priv="" sql-mode="" La 1re permet d'activer load data qui autrement ne peut lire que les fichiers dans le dossier par défaut "c:/wamp/tmp" si wamp est dans c:/wamp. La 2e enlève les restrictions sur les données. Un texte lu dans un chiffre devient 0. Un problème de Windows 7 : si on copie des dossiers pour faire une sauvegarde, la commande copy peut arrêter sans donner de raison. Ici, je faisais : xcopy c:wamp*.* cpwamp /D /E /H /Y /B /J mais la copie arrête après une partie de binapache La solution serait de lancer linux depuis un CD et de recopier les dossiers importants dans la sauvegarde, comme windows et wamp. Je ne sais pas si ajouter /C améliorera cela... Denis
Le Wed, 27 Mar 2019 09:57:20 +0100, Otomatic <otomatic@oto.invalid>
écrivait dans fr.comp.applications.sgbd:
Cela a fonctionné pendant plusieurs années, avec sans doute une
version précédente de WAMP. Qu'est-ce que je dois changer pour
accepter des valeurs avec un format non prévu ?
Remettre la même version MySQL que celle avec laquelle il n'y avait pas
d'erreur.
Cela n'aurait pas fonctionner car le problème était dans la
configuration (qui n'a pas été conservée).
La solution :
Activer ces lignes dans le fichier my.ini :
secure_file_priv=""
sql-mode=""
La 1re permet d'activer load data qui autrement ne peut lire que
les fichiers dans le dossier par défaut "c:/wamp/tmp" si wamp est
dans c:/wamp.
La 2e enlève les restrictions sur les données. Un texte lu dans un
chiffre devient 0.
Un problème de Windows 7 : si on copie des dossiers pour faire une
sauvegarde, la commande copy peut arrêter sans donner de raison.
Ici, je faisais :
xcopy c:wamp*.* cpwamp /D /E /H /Y /B /J
mais la copie arrête après une partie de binapache
La solution serait de lancer linux depuis un CD et de recopier
les dossiers importants dans la sauvegarde, comme windows et wamp.
Je ne sais pas si ajouter /C améliorera cela...
Le Wed, 27 Mar 2019 09:57:20 +0100, Otomatic écrivait dans fr.comp.applications.sgbd:
Denis Beauregard écrivait :
Cela a fonctionné pendant plusieurs années, avec sans doute une version précédente de WAMP. Qu'est-ce que je dois changer pour accepter des valeurs avec un format non prévu ?
Remettre la même version MySQL que celle avec laquelle il n'y avait pas d'erreur.
Cela n'aurait pas fonctionner car le problème était dans la configuration (qui n'a pas été conservée). La solution : Activer ces lignes dans le fichier my.ini : secure_file_priv="" sql-mode="" La 1re permet d'activer load data qui autrement ne peut lire que les fichiers dans le dossier par défaut "c:/wamp/tmp" si wamp est dans c:/wamp. La 2e enlève les restrictions sur les données. Un texte lu dans un chiffre devient 0. Un problème de Windows 7 : si on copie des dossiers pour faire une sauvegarde, la commande copy peut arrêter sans donner de raison. Ici, je faisais : xcopy c:wamp*.* cpwamp /D /E /H /Y /B /J mais la copie arrête après une partie de binapache La solution serait de lancer linux depuis un CD et de recopier les dossiers importants dans la sauvegarde, comme windows et wamp. Je ne sais pas si ajouter /C améliorera cela... Denis
secure_file_priv="" sql-mode="" La 1re permet d'activer load data qui autrement ne peut lire que les fichiers dans le dossier par défaut "c:/wamp/tmp" si wamp est dans c:/wamp.
C'est la principale limite de LOAD DATA, fonction par ailleurs magique (ultra rapide, consommant peu de ressources) pour importer de gros csv à toute vitesse.
La 2e enlève les restrictions sur les données. Un texte lu dans un chiffre devient 0.
Désactiver cette sécurité peut avoir des effets de bord inattendus, à mon humble avis, mieux vaut définir correctement ses champs et les valeurs par défaut quand c'est possible.
Un problème de Windows 7 : si on copie des dossiers pour faire une sauvegarde, la commande copy peut arrêter sans donner de raison. Ici, je faisais : xcopy c:wamp*.* cpwamp /D /E /H /Y /B /J mais la copie arrête après une partie de binapache
C'est parce que cette commande ne permet pas de copier les fichiers verrouillés par le système.
La solution serait de lancer linux depuis un CD et de recopier les dossiers importants dans la sauvegarde, comme windows et wamp. Je ne sais pas si ajouter /C améliorera cela...
Tu peux aussi utiliser un logiciel de sauvegarde, Cobian backup 11 reste gratuit par exemple, ou shadowspawn si tu préfère la ligne de commande : https://github.com/candera/shadowspawn
La 1re permet d'activer load data qui autrement ne peut lire que
les fichiers dans le dossier par défaut "c:/wamp/tmp" si wamp est
dans c:/wamp.
C'est la principale limite de LOAD DATA, fonction par ailleurs magique
(ultra rapide, consommant peu de ressources) pour importer de gros csv à
toute vitesse.
La 2e enlève les restrictions sur les données. Un texte lu dans un
chiffre devient 0.
Désactiver cette sécurité peut avoir des effets de bord inattendus, à
mon humble avis, mieux vaut définir correctement ses champs et les
valeurs par défaut quand c'est possible.
Un problème de Windows 7 : si on copie des dossiers pour faire une
sauvegarde, la commande copy peut arrêter sans donner de raison.
Ici, je faisais :
xcopy c:wamp*.* cpwamp /D /E /H /Y /B /J
mais la copie arrête après une partie de binapache
C'est parce que cette commande ne permet pas de copier les fichiers
verrouillés par le système.
La solution serait de lancer linux depuis un CD et de recopier
les dossiers importants dans la sauvegarde, comme windows et wamp.
Je ne sais pas si ajouter /C améliorera cela...
Tu peux aussi utiliser un logiciel de sauvegarde, Cobian backup 11 reste
gratuit par exemple, ou shadowspawn si tu préfère la ligne de commande :
https://github.com/candera/shadowspawn
secure_file_priv="" sql-mode="" La 1re permet d'activer load data qui autrement ne peut lire que les fichiers dans le dossier par défaut "c:/wamp/tmp" si wamp est dans c:/wamp.
C'est la principale limite de LOAD DATA, fonction par ailleurs magique (ultra rapide, consommant peu de ressources) pour importer de gros csv à toute vitesse.
La 2e enlève les restrictions sur les données. Un texte lu dans un chiffre devient 0.
Désactiver cette sécurité peut avoir des effets de bord inattendus, à mon humble avis, mieux vaut définir correctement ses champs et les valeurs par défaut quand c'est possible.
Un problème de Windows 7 : si on copie des dossiers pour faire une sauvegarde, la commande copy peut arrêter sans donner de raison. Ici, je faisais : xcopy c:wamp*.* cpwamp /D /E /H /Y /B /J mais la copie arrête après une partie de binapache
C'est parce que cette commande ne permet pas de copier les fichiers verrouillés par le système.
La solution serait de lancer linux depuis un CD et de recopier les dossiers importants dans la sauvegarde, comme windows et wamp. Je ne sais pas si ajouter /C améliorera cela...
Tu peux aussi utiliser un logiciel de sauvegarde, Cobian backup 11 reste gratuit par exemple, ou shadowspawn si tu préfère la ligne de commande : https://github.com/candera/shadowspawn