Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Requette SQL

6 réponses
Avatar
oli92
Bonjour,

j'obtiens le message suivant=20

Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'Microsoft.Jet.OLEDB.4.0' reported an=20
error. =20
[OLE/DB provider returned message: Le s=E9parateur du champ=20
de sp=E9cification du fichier texte est identique au=20
s=E9parateur d=E9cimal ou au d=E9limiteur de texte.]
OLE DB error trace [OLE/DB=20
Provider 'Microsoft.Jet.OLEDB.4.0'=20
IDBSchemaRowset::GetRowset returned 0x80004005: ].

suite =E0 la requette SQL Select * From=20
TestClassVB...RTDSVar#txt sur un serveur li=E9
Comment faire pour ne pas avoir cette erreur en sachant=20
que je ne peut pas modifier mon fichier texte et que le=20
separateur est la virgule.

Merci d'avance
Olivier

6 réponses

Avatar
Patrice
Cela peut-être défini dans le fichier Schema.ini :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/odbcjetschema_ini_file.asp

Patrice



"oli92" a écrit dans le message de
news:1c4df01c421fd$005ca2d0$
Bonjour,

j'obtiens le message suivant

Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'Microsoft.Jet.OLEDB.4.0' reported an
error.
[OLE/DB provider returned message: Le séparateur du champ
de spécification du fichier texte est identique au
séparateur décimal ou au délimiteur de texte.]
OLE DB error trace [OLE/DB
Provider 'Microsoft.Jet.OLEDB.4.0'
IDBSchemaRowset::GetRowset returned 0x80004005: ].

suite à la requette SQL Select * From
TestClassVB...RTDSVar#txt sur un serveur lié
Comment faire pour ne pas avoir cette erreur en sachant
que je ne peut pas modifier mon fichier texte et que le
separateur est la virgule.

Merci d'avance
Olivier
Avatar
oli92
Merci pour la reponse et l'adresse de la page mais
malheureusement cela ne semble pas resoudre mon probleme.
En effet si j'utilise un petit programme VB qui utilise
ADO 2.8 je n'ai plus ce probleme a condition de modifier
les parametres regionnaux de mon PC, mais j'ai toujours le
pb si j'utilise le Query Analyser de SQL 2000..j'avoue que
je m'y perd un peu surtout que ce code a deja fonctionné
dans l'analyseur.. mais alors comment ...
A moisn qu'il existe un parametrage du serveur que j'aurai
modifié par megarde :-)..

@+ Olivier
Avatar
Patrice
Bonjour,

Le message d'origine indique un conflit entre le séparateur de champs et le
"point décimal" (qui doivent être tous deux actuellement la virgule ?). Le
fichier texte contient il des nombres réels ? Si oui quel est le symbole
utilisé comme "point décimal" ? Si ils sont bien tous les deux identiques,
il faudra faire un choix.

Précédemment, il est possible que les nombres réels ne comportaient pas de
partie décimale ce qui a donc masqué ce problème (ou encore que le ficheier
généré utilisait effectivement le point comme séparateur décimal)...

Patrice


"oli92" a écrit dans le message de
news:1ca3101c42214$c505abb0$
Merci pour la reponse et l'adresse de la page mais
malheureusement cela ne semble pas resoudre mon probleme.
En effet si j'utilise un petit programme VB qui utilise
ADO 2.8 je n'ai plus ce probleme a condition de modifier
les parametres regionnaux de mon PC, mais j'ai toujours le
pb si j'utilise le Query Analyser de SQL 2000..j'avoue que
je m'y perd un peu surtout que ce code a deja fonctionné
dans l'analyseur.. mais alors comment ...
A moisn qu'il existe un parametrage du serveur que j'aurai
modifié par megarde :-)..

@+ Olivier
Avatar
oli92
Et bien mon fichier de Base est identique depuis le depart
j'en suis certain. Les nombres que contient le fichier
sont placés entre "".
je viens de faire un essais en modifiant mon fichier
source avec des ; en lieu et place des virgules
effectivement ça marche... mais cela ne correspond pas a
ce que je souhaite.
As tu une autre piste de recherche ?

@+ olivier et encore merci pour ton aide.
Avatar
Patrice
As tu des nombres réels ? Quel est le symbole utilisé pour le point décimal
?

J'aurais tendance à penser que les nombres placés entre " devraient plutôt
être considérés comme du texte ?

Le pilote cherche aussi à déterminer le type des colonnes en se basant sur
les n premières lignes. Le fichier schema.ini permet je crois d'indiquer
explicitement le type des colonnes (en fonction du fichier, il ne fait pas
forcément la même supposition et cela pourrait poser problème selon ce qu'il
croit reconnaitre ??)...

Bon courage

Patrice


"oli92" a écrit dans le message de
news:1ca6d01c42219$b4aa1a30$
Et bien mon fichier de Base est identique depuis le depart
j'en suis certain. Les nombres que contient le fichier
sont placés entre "".
je viens de faire un essais en modifiant mon fichier
source avec des ; en lieu et place des virgules
effectivement ça marche... mais cela ne correspond pas a
ce que je souhaite.
As tu une autre piste de recherche ?

@+ olivier et encore merci pour ton aide.
Avatar
+The_Taco+
Hors sujet:
Requette ou Raquette?
;)

"Patrice" a écrit dans le message de
news:%
As tu des nombres réels ? Quel est le symbole utilisé pour le point


décimal
?

J'aurais tendance à penser que les nombres placés entre " devraient plutôt
être considérés comme du texte ?

Le pilote cherche aussi à déterminer le type des colonnes en se basant sur
les n premières lignes. Le fichier schema.ini permet je crois d'indiquer
explicitement le type des colonnes (en fonction du fichier, il ne fait pas
forcément la même supposition et cela pourrait poser problème selon ce


qu'il
croit reconnaitre ??)...

Bon courage

Patrice


"oli92" a écrit dans le message de
news:1ca6d01c42219$b4aa1a30$
Et bien mon fichier de Base est identique depuis le depart
j'en suis certain. Les nombres que contient le fichier
sont placés entre "".
je viens de faire un essais en modifiant mon fichier
source avec des ; en lieu et place des virgules
effectivement ça marche... mais cela ne correspond pas a
ce que je souhaite.
As tu une autre piste de recherche ?

@+ olivier et encore merci pour ton aide.