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

[XML]Créer un recordset connecté à un fichier XML

11 réponses
Avatar
Teddy
Bonjour à tous,

J'ai un fichier XML (généré par ADO) donc sain en principe. Il l'est quand on l'ouvre avec un
éditeur, le schéma des champs et les données à la suite y semblent correctes.

Je souhaite pouvoir le "relire" avec un recordset ad'hoc dans une application VB.
Mais voilà, ça ne marche pas :-|

J'utilise :
Rset.Open "CHEMIN\MonFichier.xml", "PROVIDER=MSPersist;", , , adCmdFile

J'ai un message d'erreur du genre :
" ADODB.Recordset error '800a0bb9' Les arguments sont de type incorrect, en dehors des limites
autorisées ou en conflit les uns avec les autres. "

J'ai bien essayé de changer les paramètres de type de curseur et de recordset mais j'ai toujours le
même message d'erreur :-(((((((((((
Je pense que le problème vient de ces paramètres.

Si quelqu'un connaît ce genre de chaîne de connexion et de recordset, son aide serait la bienvenue !
Merci beaucoup d'avance.

Teddy

10 réponses

1 2
Avatar
Gloops
Bonjour,

Tu es sûr de ton acCmdFile ? Combien vaut-il au fait ?

Dans la doc j'ai trouvé ça :

Open Method on Recordset Object

Options
This optional parameter specifies a Long value representing a
CommandTypeEnum value that indicates how the provider should evaluate
the Source parameter. The CommandTypeEnum value can be one of the
following constants:

Enumeration Value Description

adCmdUnspecified -1 This value indicates that the CommandText property
is unspecified (not supported by the OLE DB Provider for AS/400 and VSAM).

adCmdText 1 This value evaluates the CommandText property as a text
string.

adCmdTable 2 This value evaluates the CommandText property as a table
name (not supported by the OLE DB Provider for AS/400 and VSAM).

adCmdStoredProc 4 This value evaluates the CommandText property as a
stored procedure (not supported by the OLE DB Provider for AS/400 and
VSAM).

adCmdUnknown 8 This value indicates that the type of command in
CommandText is not known and is not supported by the OLE DB Provider for
AS/400 and VSAM.


Si je lis bien, si jamais tu lui envoies 0 il ne va pas aimer.


____________________________________
Teddy a écrit, le 08/02/2005 23:57 :

Bonjour à tous,

J'ai un fichier XML (généré par ADO) donc sain en principe. Il l'est quand on l'ouvre avec un
éditeur, le schéma des champs et les données à la suite y semblent correctes.

Je souhaite pouvoir le "relire" avec un recordset ad'hoc dans une application VB.
Mais voilà, ça ne marche pas :-|

J'utilise :
Rset.Open "CHEMINMonFichier.xml", "PROVIDER=MSPersist;", , , adCmdFile

J'ai un message d'erreur du genre :
" ADODB.Recordset error '800a0bb9' Les arguments sont de type incorrect, en dehors des limites
autorisées ou en conflit les uns avec les autres. "

J'ai bien essayé de changer les paramètres de type de curseur et de recordset mais j'ai toujours le
même message d'erreur :-(((((((((((
Je pense que le problème vient de ces paramètres.

Si quelqu'un connaît ce genre de chaîne de connexion et de recordset, son aide serait la bienvenue !
Merci beaucoup d'avance.

Teddy




Avatar
Gloops
En regardant dans l'explorateur d'objets, j'ai trouvé un
Const adCmdFile = 256 (&H100)

Donc, peut-être n'étais-je pas sur la bonne doc ?

En mettant tout ça ensemble j'ai l'impression qu'il y a juste une lettre
à changer ...
_____________________________________
Teddy a écrit, le 08/02/2005 23:57 :

Bonjour à tous,

J'ai un fichier XML (généré par ADO) donc sain en principe. Il l'est
quand on l'ouvre avec un éditeur, le schéma des champs et les données
à la suite y semblent correctes.

Je souhaite pouvoir le "relire" avec un recordset ad'hoc dans une
application VB.
Mais voilà, ça ne marche pas :-|

J'utilise :
Rset.Open "CHEMINMonFichier.xml", "PROVIDER=MSPersist;", , , adCmdFile

J'ai un message d'erreur du genre :
" ADODB.Recordset error '800a0bb9' Les arguments sont de type
incorrect, en dehors des limites autorisées ou en conflit les uns avec
les autres. "

J'ai bien essayé de changer les paramètres de type de curseur et de
recordset mais j'ai toujours le même message d'erreur :-(((((((((((
Je pense que le problème vient de ces paramètres.

Si quelqu'un connaît ce genre de chaîne de connexion et de recordset,
son aide serait la bienvenue !
Merci beaucoup d'avance.

Teddy






Avatar
Gloops
Gloops a écrit, le 09/02/2005 09:53 :

Bonjour,

Tu es sûr de ton acCmdFile ? Combien vaut-il au fait ?


Ah pardon, c'était adCmdFile, et il vaut &H100.

Est-ce que je suis tombé sur la bonne doc, seulement ?
Avatar
gloops
Bon, j'ai effacé ce message au bout de dix secondes. Pas de pot,
apparemment il avait déjà été transmis à d'autres serveurs.

On oublie ...
_____________________________________
Gloops a écrit, le 09/02/2005 10:00 :

En regardant dans l'explorateur d'objets, j'ai trouvé un
Const adCmdFile = 256 (&H100)

Donc, peut-être n'étais-je pas sur la bonne doc ?

En mettant tout ça ensemble j'ai l'impression qu'il y a juste une lettre
à changer ...


Avatar
Teddy
Merci Gloops mais ton explication n'est pas très claire ;-)
Teddy


" Teddy" a écrit dans le message de news:
%
Bonjour à tous,

J'ai un fichier XML (généré par ADO) donc sain en principe. Il l'est quand on l'ouvre avec un
éditeur, le schéma des champs et les données à la suite y semblent correctes.

Je souhaite pouvoir le "relire" avec un recordset ad'hoc dans une application VB.
Mais voilà, ça ne marche pas :-|

J'utilise :
Rset.Open "CHEMINMonFichier.xml", "PROVIDER=MSPersist;", , , adCmdFile

J'ai un message d'erreur du genre :
" ADODB.Recordset error '800a0bb9' Les arguments sont de type incorrect, en dehors des limites
autorisées ou en conflit les uns avec les autres. "

J'ai bien essayé de changer les paramètres de type de curseur et de recordset mais j'ai toujours
le même message d'erreur :-(((((((((((
Je pense que le problème vient de ces paramètres.

Si quelqu'un connaît ce genre de chaîne de connexion et de recordset, son aide serait la bienvenue
!
Merci beaucoup d'avance.

Teddy



Avatar
Gloops
Teddy a écrit, le 09/02/2005 19:57 :

Merci Gloops mais ton explication n'est pas très claire ;-)
Teddy



A vrai dire, ça ne m'étonne pas plus que ça, vu que finalement j'en
étais arrivé à douter d'avoir lu la bonne documentation. Il y a quoi,
dans la tienne, de doc, au sujet du dernier paramètre de Open, qui si je
ne m'abuse s'appelle Options ?
Avatar
Teddy
Normalement, on doit pouvoir ouvrir ce fichier comme une table d'une base de données avec ADO et un
recordset.
Mais il me manque quelque chose, sinon bien sûr, je sais l'ouvrir comme un fichier "texte" et lire
les lignes en repérant les balises mais c'est bestial et pas très sérieux.
Sur le Net, je ne trouve pas d'explications complètes mais plein de bouts de code VB qui ne marchent
pas dans mon environnement :-(

Teddy




"Gloops" a écrit dans le message de news:
420aa317$0$17293$
Teddy a écrit, le 09/02/2005 19:57 :

Merci Gloops mais ton explication n'est pas très claire ;-)
Teddy



A vrai dire, ça ne m'étonne pas plus que ça, vu que finalement j'en étais arrivé à douter d'avoir
lu la bonne documentation. Il y a quoi, dans la tienne, de doc, au sujet du dernier paramètre de
Open, qui si je ne m'abuse s'appelle Options ?



Avatar
Gloops
Ah.
Dans la première réponse que j'ai proposée j'ai cité l'aide de Open,
pour un Recordset ADODB. Pour le paramètre Options (le dernier), sont
proposées six valeurs possibles, et on n'y trouve pas adCmdFile.

Plusieurs explications possibles :
- je n'ai pas lu la bonne doc
- les valeurs proposées ne sont pas exhaustives (j'ai quand même du mal
à y croire)
- ou encore, c'est ça l'explication, et il faut choisir une valeur dans
la liste pour ne pas se faire jeter.

J'avoue que ça me trouble qu'on ne trouve rien dans MSDN au sujet de
adCmdFile, alors que cette valeur est effectivement citée par
l'explorateur d'objets.

____________________________________
Teddy a écrit, le 10/02/2005 21:54 :
Normalement, on doit pouvoir ouvrir ce fichier comme une table d'une base de données avec ADO et un
recordset.
Mais il me manque quelque chose, sinon bien sûr, je sais l'ouvrir comme un fichier "texte" et lire
les lignes en repérant les balises mais c'est bestial et pas très sérieux.
Sur le Net, je ne trouve pas d'explications complètes mais plein de bouts de code VB qui ne marchent
pas dans mon environnement :-(

Teddy




"Gloops" a écrit dans le message de news:
420aa317$0$17293$

Teddy a écrit, le 09/02/2005 19:57 :


Merci Gloops mais ton explication n'est pas très claire ;-)
Teddy



A vrai dire, ça ne m'étonne pas plus que ça, vu que finalement j'en étais arrivé à douter d'avoir
lu la bonne documentation. Il y a quoi, dans la tienne, de doc, au sujet du dernier paramètre de
Open, qui si je ne m'abuse s'appelle Options ?








Avatar
Teddy
La MSDN n'est pas toujours complète sur certains sujets.
On pourrait croire que le XML doit rester l'apanage des spécialistes qui ont suivi des formations
sur le sujet.



"Gloops" a écrit dans le message de news:
420e7fec$0$17258$
Ah.
Dans la première réponse que j'ai proposée j'ai cité l'aide de Open, pour un Recordset ADODB. Pour
le paramètre Options (le dernier), sont proposées six valeurs possibles, et on n'y trouve pas
adCmdFile.

Plusieurs explications possibles :
- je n'ai pas lu la bonne doc
- les valeurs proposées ne sont pas exhaustives (j'ai quand même du mal à y croire)
- ou encore, c'est ça l'explication, et il faut choisir une valeur dans la liste pour ne pas se
faire jeter.

J'avoue que ça me trouble qu'on ne trouve rien dans MSDN au sujet de adCmdFile, alors que cette
valeur est effectivement citée par l'explorateur d'objets.

____________________________________
Teddy a écrit, le 10/02/2005 21:54 :
Normalement, on doit pouvoir ouvrir ce fichier comme une table d'une base de données avec ADO et
un recordset.
Mais il me manque quelque chose, sinon bien sûr, je sais l'ouvrir comme un fichier "texte" et
lire les lignes en repérant les balises mais c'est bestial et pas très sérieux.
Sur le Net, je ne trouve pas d'explications complètes mais plein de bouts de code VB qui ne
marchent pas dans mon environnement :-(

Teddy




"Gloops" a écrit dans le message de news:
420aa317$0$17293$

Teddy a écrit, le 09/02/2005 19:57 :


Merci Gloops mais ton explication n'est pas très claire ;-)
Teddy



A vrai dire, ça ne m'étonne pas plus que ça, vu que finalement j'en étais arrivé à douter d'avoir
lu la bonne documentation. Il y a quoi, dans la tienne, de doc, au sujet du dernier paramètre de
Open, qui si je ne m'abuse s'appelle Options ?











Avatar
Gloops
XML tu dis ?
J'imagine que tu as regardé là ?
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsqlmag2k/html/ADOandXML.asp
1 2