macflyFR
Messages postés15Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention17 juillet 2003
-
2 juil. 2003 à 11:18
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 2011
-
10 juil. 2003 à 14:42
Bonjour,
jai une base de données SQL server en local (MSDE) et je souhaiterais pouvoir créer un fichier xml a partir d'une requete, en utilisant les fonctions xml de sql server.
mon code ne marche pas et se présente comme ceci (il y a certainement des fautes enormes mais je ne suis pas tres doué en vb) :
Set FSys = CreateObject("Scripting.FileSystemObject")
Set ficBase = FSys.CreateTextFile("chemin\nomfichier.xml")
Set oSvroot = CreateObject("SQLDMO.SQLServer")
On Error GoTo WriteError
'Timeout de connexion (en secondes)
oSvroot.LoginTimeout = 60
strconn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ESSAI_VB;Data Source=ZEUS;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=nombaseMSDE;Use Encryption for Data=False;Tag with column collation when possible=False"
connado.Open strconn
query = "select * from client for XML AUTO"
cmd.ActiveConnection = connado
cmd.CommandText = query
Set rs = cmd.Execute
rs.Save nomfichier, adPersistXML
connado.Close
MsgBox "Le fichier XML a été généré et se trouve dans " & nomfichier, vbInformation, "Réussite"
Exit Sub
Donc il faut ajouter
les references a ado
microsoft data access object library 2.*
scritping runtime
et voila le result un beau fichier xml
le pb il n'est pas exploitable par d'autre programme a moins de decouvrir le format
dommage
Il est possible de le reprendre avec
Private Function GetVBOSPData() As ADODB.Recordset
Dim strConnect As String
strConnect = "Provider=MSPersist"
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open nomfichier", strconn
Set GetVBOSPData= rs
End Function
macflyFR
Messages postés15Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention17 juillet 20031 2 juil. 2003 à 15:07
Merci pour ton code
le mien etait effectivement assez laid...
Par contre, j'y suis depuis un petit moment et jai qq pb pour faire fonctionner ton code...
Peut etre que les parametres de connexion que je mets son faux..
Provider= SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog= MABASE ;Data Source =MABASE;Use Procedure for Prepare= 1;Auto Translate=True;Packet Size=4096;Workstation ID MONSERVEUR ;Use Encryption for Data =False;Tag with column collation when possible=False"
(en sachant que sous sql server, ma base s'appelle "personnes", que sous odbc, elle s'appelle "AP", et que mon serveur est local (c'est un serveur MSDE) )
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 2 juil. 2003 à 15:25
Provider= SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ESSAI_VB;Data Source=ZEUS;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=ZEUS;Use Encryption for Data=False;Tag with column collation when possible=False
Voila la chaine de connexion que j'ai
ZEUS c'est le nom que je'ai pour MSCDE
ESSAI_VB c'est le nom de la BDD que j'ai créer avec .NET
(je ne sais pas comment mettre des données de dans autrement)
Excuse tu peux le faire avec le data environnement
Ajoute dataenv dans le projet
connection --> propriétés
Selection du driver oledb sql server
ensuite onglet "connexion" tu mets le nom de ta MCDSE
clique sur l'icone dans le systray
le nom du serveur apparait
ensuite tu choisis ta base
combo tu bas
tu gere ton mdp et login "moi c'est NT ...." pour pas m'emmerdé
tu teste la connection
si ok tout marche super :-)
sinon il faut reflechir
ensuite tu recuperes la chaine de connection par copier coller (facile)
et tu la mais dans le code.
et la le prog marche
(le vb vient de s'ecraser)
Je voulais voir comment mettre des données dedans mais je ne sais plus ou ne connais pas la methode avec VB.
Si tu me rafraichis la memoire je suis preneur :-)
macflyFR
Messages postés15Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention17 juillet 20031 2 juil. 2003 à 15:51
ok je te remercie...
comme ca fait un moment que je fais des essais, j'avais deja creer ma connexion par le data env ... je n'ai eu qu'a récupérer la chaine de connexion et ca marche !
En ce qui concerne ta question sur comment mettre des données dans la chaine de connexion (si jai bien compris),
je ne peux malheureusement pas t'aider
merci pour tout
a+
MF
Vous n’avez pas trouvé la réponse que vous recherchez ?
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 2 juil. 2003 à 16:01
La question n'est pas ca c'est pas le but de la chaine de connexion.
La Question est comment utiliser mcse sans utiliser .net
et
comment l'utiliser voir les données en conception
ajouter des tables
des bases des colonnes
avec vb mais sans code.
Comme avec access (tu vois le genre)
j'ai cru avoir vu ca un jour (pour gerer une autre base access?)
l'interface dans VB mais je sais plus comment y aller
Voila la question
Il y a peut etre un module d'admin visuel ou textuel comme sql
entreprise manger chez oracle ou autre independent de vb.
Pour l'utiliser avec d'autre langage.
(Pour etre plus clair comment tu fais pour gerer ta base)
Moi j'utilise vs.net mais avoir les 2 env ouvert c'est un peu lourd.
macflyFR
Messages postés15Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention17 juillet 20031 2 juil. 2003 à 16:21
A priori j'ai la reponse a ta question :
qd tu as créé une connexion dans ton data env, tu peux créer des commandes.
Et dans les propriétés de ta commande, quand tu selectionnes instruction sql , tu peux cliquer sur générateur sql...
la, s'affiche un tableau avec toutes tes données et de quoi les gérer.
(un peu comme sous excel puisque tu peux modifer ton tableau de données etc...)
macflyFR
Messages postés15Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention17 juillet 20031 2 juil. 2003 à 16:51
a vrai dire je le gere pas sans vb puisque c'est une appli developpée en vb qui permet de creer des enregistrements, de les modifer etc...
enfin sinon jai qd meme un petit prog ("vsqlw") qui me permet de faire des requetes sql sur ma base ; mais je m'en sers peu.
voila
macflyFR
Messages postés15Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention17 juillet 20031 3 juil. 2003 à 11:18
dis moi, je peux te redemander de l aide ?
il faudrait que je puisse faire l'inverse maintenant...cad, a partir d'un fichier xml exporté de ma base, il faut que je puisse le réintégrer dans ma base...(en faisant soit creation soit maj de la table dans ma requete)
si tu peux m'aider rapidement ce serait tres sympa ..
mais si tu as autre chose a faire je comprendrai tres bien
macflyFR
Messages postés15Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention17 juillet 20031 10 juil. 2003 à 14:37
Bonjour
excuse moi de te redéranger mais jai encore qq pbs et peut etre que tu connais la réponse...
(jai posé la question sur le forum mais aucune reponse....)
je récupère des données XML dans un recordset de la maniere suivante:
Dim rs As New adodb.Recordset
rs.open fichierXML
j'aimerais ensuite pouvoir insérer directement les données du recordset dans ma base de données SLQ server.