Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Outils
Outils Forum d'entraide sur les outils pour MySQL. Avant de poster -> Outils MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/02/2007, 00h15   #1
Membre actif
 
Inscription : avril 2003
Messages : 281
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : avril 2003
Messages : 281
Points : 160
Points : 160
Par défaut Import batch, pb de commentaires

Bonjour, je souhaire importer un ensemble de fichier sql contenu dans un répertoire (je suis sous WAMP5). Pour cela, j'utilise ca :

Code :
1
2
3
4
5
6
7
8
9
10
echo off

path C:\Program Files\Wamp\mysql\bin

for %%i in (*.sql) do (
	echo %%i
	mysql -h localhost -u user -ppass base < %%i
)

pause
Mon problème vient du contenu des fichiers sql.
Il ressemble à :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*
MySQL Data Transfer
Source Host: localhost
Source Database: bases
Target Host: localhost
Target Database: baset
Date: 05.02.2007 21:41:54
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for command
-- ----------------------------
CREATE TABLE `command` (
  `name` varchar(50) NOT NULL default '',
  `security` tinyint(3) unsigned NOT NULL default '0',
  `help` longtext,
  PRIMARY KEY  (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Chat System';

-- ----------------------------
-- Records 
-- ----------------------------
INSERT INTO `command` VALUES ('acct', '0', 'Syntax: .acct\r\n\r\nDisplay the access level of your account.');
Les fichiers ont des commentaire entre /* */ et cela me renvoie une erreur. Et c'est au niveau de la ligne 3 que cela plante :

Code :
ERROR at line 3 :  Failed  TO open file 'Host : localhost', error: 2

Comment faire pour ne pas avoir à supprimer les commentaire à chaque fois. Automatiser la suppresion des commentaires ? Peux t'on exécuter la commande mysql à partir d'une certaine ligne ?
En gros, y a t il une solution ?
__________________
S'il n'y a pas de solution, il n'y a pas de problème.
Moi je dis ça, je dis rien.
sunvialley est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 03h57   #2
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Je viens de tester sur ma config (MySQL 5 sur Windows 5.1). Ça fonctionne sans problème...
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 08h50   #3
Membre actif
 
Inscription : avril 2003
Messages : 281
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : avril 2003
Messages : 281
Points : 160
Points : 160
Alors je pige pas...
Quand je passe par phpMyAdmin, les import fonctionnent bien, mais pas via commande...

Est ce qu'il faut régler quelquepart la désignation de commentaires sql ?

(en batch j'arrive à supprimer 1 ligne via la commande find, mais je n'arrive pas encore à en supprimer plusieurs. J'aimerais mieux comprendre pourquoi les commentaires bloquent...)
__________________
S'il n'y a pas de solution, il n'y a pas de problème.
Moi je dis ça, je dis rien.
sunvialley est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 09h28   #4
Membre actif
 
Inscription : avril 2003
Messages : 281
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : avril 2003
Messages : 281
Points : 160
Points : 160
Je viens de trouver ca pour supprimer les 8 premières lignes (et les lignes vides) :

Code :
FOR /f "skip=8 tokens=*" %%l IN (%%i) do echo %%l >> copy_%%i
bon, c'est un contournement du problème d'interprétation des commentaires par mon mysql... mais ca devrait marcher... je testerais ce soir (la je peux pas).
__________________
S'il n'y a pas de solution, il n'y a pas de problème.
Moi je dis ça, je dis rien.
sunvialley est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 21h35   #5
Membre actif
 
Inscription : avril 2003
Messages : 281
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : avril 2003
Messages : 281
Points : 160
Points : 160
Bon, en supprimant les lignes ca marche :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
echo off

path C:\Program Files\Wamp\mysql\bin

for %%i in (*.sql) do (
	for /f "skip=8 tokens=*" %%l in (%%i) do echo %%l >> copy_%%i
	mysql -h localhost -u user -ppass base < copy_%%i
	del copy_%%i
	echo %%i

)
echo ----------------------
echo >>> Import Terminé <<<

pause
__________________
S'il n'y a pas de solution, il n'y a pas de problème.
Moi je dis ça, je dis rien.
sunvialley est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h54.


 
 
 
 
Partenaires

Hébergement Web