-
La réponse aura au moins le mérite d'être claire:
De CinePhil:
Le langage SQL est censé être utilisé pour interroger (créer, mettre à jour...) une base de données relationnelle composée de tables, elles-même composées de colonnes et de lignes. Il n'est donc pas prévu de séparateur puisqu'en SQL on demande simplement d'extraire les données de telle(s) colonne(s) de telle(s) table(s).
On en revient donc au problème d'ADO / Séparateur de liste :-(
Je suis actuellement en train de regarder dans le registre les endroits ou sont stockés ces informations là. Actuellement, j'en ai trouvé 2:
HKEY_CURRENT_USER/Control Panel / Internationnal
HKEY_USER/Control Panel / Internationnal
Il y a une variable sList, qui est bien égale a ";" dans les 2 cas. Et qui change suivant l'option régionale.
-
Et bien voilà apres quelques recherches, j'ai enfin trouvé la réponse.
Je vous la donne pour ceux qui pourrait y être confrontés un jour ou l'autre.
Ce qui a solutionné mon problème, c'est la variable dans le registre:
HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engine\Text puis choisir la variable Format.
Pour ma part elle était encore en CSVDelimited. Je l'ai passé en Delimited(; ).
(L'espace après le ";" est a supprimé, il est juste là afin d'éviter le smiley).
Cela a résolu mon probleme.
Merci pour l'aide que vous m'avez apportés.
-
Personnellement, je suis plutôt opposé à changer des valeurs dans la base de registre sur une machine, s'ils sont déclarés de telle ou telle manière c'est qu'il y a normalement une raison. Un autre logiciel que le tien, qui attend des virgules, ou des tabulations, ou autres devra agir de la même manière ?
Il te suffirait d'écrire une fonction de lecture "standard" de fichier csv pour extraire tes données et là ça fonctionnerait sur toutes les machines, indépendament de leur configuration.
-
En fait, il se trouve que ce problème avait déjà été remarqué sur cet environnement.
Ils ont eu a faire pour d'autres programmes en d'autres langages des modifications du même genre que celle que j'ai faites car ils ne parvenaient pas non plus a lire les fichiers .csv en se basant sur ";".
Il faut tout de même savoir que dans cet environnement, ils sont également en option régionale Française personnalisé avec le séparateur de liste qui a pour valeur le ";" et non la ",".
Ce qui par la modification de cette valeur (celle du registre) rend les paramètres régionaux "correctes".