par
Cyrano » 07 juil. 2006, 14:49
Il y a effectivement un lien direct avec mon précédent post. J'avais également noté à propos de '\N' plustôt que 'NULL', en fait, ce qui m'intéressait était surtout l'insertion entre toutes les paires de tabulations consécutives.
Chacune de mes lignes se termine de toutes façons par une tabulation, donc une donnée absente dans la dernière colonne donnnera lieu à deux tabulations consécutives, donc pas de soucis de ce coté là.
En fait ce qui s'est passé, c'est que les fichiers tels que je les récupère sont formatés de façon très basique ce qui me pose des problème pour les injecter dans une base MySQL. Le chargement dans une base de transit où tous els champs sont de type CHAR ou VARCHAR fonctionne très bien, mais là où la donnée est absente, mysql m'insère une chaine vide et non 'NULL' comme je l'espérais : je pensais pouvoir très rapidement refaire une exportation avec les délimiteurs qui vont bien, partant de MySQL vers MySQL, ça aurait dû marcher : Nada, niet ! Je dois donc trouver une autre méthode : je m'oriente donc vers une ré-écriture des fichiers pour une injection directe dans une base ayant des champs convenablement typés.
Pour l'environnement, je suis sous Windows XP Pro, et mon principal problème, c'est un fichier. J'en reçois 31 dont un de 660Mo, les autres allant de 1Ko à 31Mo : ces derniers ne posent pas de problèmes de traitement, mais le gros est plsu rétif. Je n'ai pas d'environnement Linux sous la main (ou alors chez moi sur ma machine perso).
Reste aussi peut-être l'exécution via PHP en ligne de commande rendant le script indépendant du serveur Apache, je cherche en même temps comment faire ça parce que l'insertion d'un '\N' fonctionne bien, sauf sur le gros fichier qui ne dispose pas du délai suffisant, il doit y avoir un time out sur Apache que j'ai pas réglé.
Il y a effectivement un lien direct avec mon précédent post. J'avais également noté à propos de '\N' plustôt que 'NULL', en fait, ce qui m'intéressait était surtout l'insertion entre toutes les paires de tabulations consécutives.
Chacune de mes lignes se termine de toutes façons par une tabulation, donc une donnée absente dans la dernière colonne donnnera lieu à deux tabulations consécutives, donc pas de soucis de ce coté là.
En fait ce qui s'est passé, c'est que les fichiers tels que je les récupère sont formatés de façon très basique ce qui me pose des problème pour les injecter dans une base MySQL. Le chargement dans une base de transit où tous els champs sont de type CHAR ou VARCHAR fonctionne très bien, mais là où la donnée est absente, mysql m'insère une chaine vide et non 'NULL' comme je l'espérais : je pensais pouvoir très rapidement refaire une exportation avec les délimiteurs qui vont bien, partant de MySQL vers MySQL, ça aurait dû marcher : Nada, niet ! Je dois donc trouver une autre méthode : je m'oriente donc vers une ré-écriture des fichiers pour une injection directe dans une base ayant des champs convenablement typés.
Pour l'environnement, je suis sous Windows XP Pro, et mon principal problème, c'est un fichier. J'en reçois 31 dont un de 660Mo, les autres allant de 1Ko à 31Mo : ces derniers ne posent pas de problèmes de traitement, mais le gros est plsu rétif. Je n'ai pas d'environnement Linux sous la main (ou alors chez moi sur ma machine perso).
Reste aussi peut-être l'exécution via PHP en ligne de commande rendant le script indépendant du serveur Apache, je cherche en même temps comment faire ça parce que l'insertion d'un '\N' fonctionne bien, sauf sur le gros fichier qui ne dispose pas du délai suffisant, il doit y avoir un time out sur Apache que j'ai pas réglé.