IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Accès Base de données en VBScript SQL Server


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut Accès Base de données en VBScript SQL Server
    Bonjour,

    Je souhaiterai accéder (lire) à une table dans une base de données SQL Server en VBScript. Ces données seront ensuite extraites et comparées avec des données sous Exchange, et seront insérées toujours via VBS.
    Cependant, je pensais utiliser la librairie ADO mais je développe sous notepad++ comme c'est du scripting et donc je ne peux pas faire de référence à cette librairie dans le menu "projet->référence...." comme sous VB express puisque c'est notepad++ !

    Je me demandais donc comment faire référence à ADO ? cela est-il possible ?
    Ou alors existe -t-il un IDE libre qui me permette d'y faire référence ?

    Sinon quelle méthode pour me connecter à ma base ?

    J'ai fais quelque recherche sur le net mais tous évoque la solution de référencement sous un IDE comme VB express ou VB6.

    Merci de votre aide !

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Une piste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Drv = "driver={SQL Server};" & "server=AdresseIp;uid=NomUser; pwd=Password; database=NomBase"
    	txtSQL = ""
    	txtSQL = txtSQL & "SELECT * from MaTable "
    	txtSQL = txtSQL & "order by LeChamp "
    	Set rs = CreateObject("ADODB.Recordset")
    	rs.Open txtSQL, Drv
    	if not rs.EOF then
    ..................

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Merci pour cette réponse je vais tester de ce pas ! J'étais parti justement sur quelque chose dans ce genre...on va voir !

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Bon ça ne marche pas...il me dit erreur sur la ligne :
    Set rs = Server.CreateObject("ADODB.Recordset")

    Erreur : objet requis 'Server'

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Bon j'ai refais des essais je vous post mon code pour voir si je fais correctement les choses...(je n'ai pas l'habitude de programmer donc soyez indulgent merci !)j'attends vos explication!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    'définition de la connexion 
    Set Database_Ref = CreateObject("ADODB.Connection")
    Database_Ref.Open("Driver=" & strDriver & ";" & _
    "Server=" & strServeur & ";" & _
    "Database=" & strDataBase & ";" & _
    "Uid=" & strUid & ";" & _
    "Pwd=" & strPwd & ";")
     
    'definition de la  Requete selection
    strSql = "SELECT NUMMATRICULE FROM TablePlanning"
     
    'execution de la requete
    Database_Ref.Execute strSql
     
    'ouverture de l'enregistrement
    set rs = Database_Ref.openRecordset(strSql)
     
    'si au moins un enregistrement existe alors on stocke la valeur du champ 'NUMMATRICULE dans la variable strMatricule
    If rs.recordCount <> 0 Then
           strMatricule = rs.field("NUMMATRICULE")
    end If
     
    'on affiche le résultat dans une box
    MsgBox (strMatricule)
     
    'on ferme 
    rs.close
    Voila. Sinon j'ai voulu déclarer des variables comme en VBA en faisant par exemple
    Dim rs As Recordset

    eh bien ça me met une erreur du style "fin instruction attendue sur la ligne de déclaration de variable...est ce normal ?

    Merci

  6. #6
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Après la fermeture de ton recordset, il faut détruire l'instance :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set Database_Ref = Nothing
    En VbScript, les variables ne sont pas typées.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Ok merci ! Je l'ai rajouté ! En revanche j'ai une erreur sur :
    set rs = Database_Ref.openRecordset(strSql)

    Il me dit à l'écran :
    Erreur : "les arguments sont de type incorrect, en dehors des limites autorisées ou en conflit les uns avec les autres."
    Code : 800A0BB9
    Source : ADODB.Connection

    ça veut dire quoi ?A quoi ça correspond ?

  8. #8
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Et si tu utilises le code de mon 1er message ?

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Re ! Bon j'ai un peu changer de méthode et cette fois ça marche !!!

    Donc je poste le code si ça intéresse quelqu'un...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Dim strConnection, conn, rs, strSQL
     
    'strConnection = "Driver={SQL Server};Server=SQLServerName;" & _
    '"Database=DBaseName;Uid=sa;Pwd=password;"
     
     
    Set conn = Wscript.CreateObject("ADODB.Connection")
    conn.Open strConnection
     
    Set rs = Wscript.CreateObject("ADODB.recordset")
    'strSQL = "SELECT * FROM TablePlanning"
    strSQL = "SELECT NUMMATRICULE FROM TablePlanning"
    rs.open strSQL, conn, 3,3
     
    rs.MoveFirst
    strMatricule = rs.fields("NUMMATRICULE")
     
    MsgBox (strMatricule)
     
    rs.Close
    Set rs = Nothing
     
    conn.Close
    Set conn = Nothing
    Et voila ! merci pour votre aide !

  10. #10
    Membre confirmé

    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Points : 562
    Points
    562
    Par défaut Merci
    C'est gentil de poster le code final qui fonctionne. ça m'est très utile

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 48
    Points : 32
    Points
    32
    Par défaut
    Salut,

    merci pour le code, c'est presque ok pour moi seulement j'ai un msg d'erreur !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Objet requis 'Wscript'
    Si vous avez des idées merci de les poster

  12. #12
    Futur Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Points : 7
    Points
    7
    Par défaut
    Elle fonctionne parfaitement chez moi, Wscript est reconnu par Windows 7 par défaut.

  13. #13
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 37
    Points : 42
    Points
    42
    Par défaut
    Salut ,

    est ce que vous savez comment se connecter en sysdba depuis vbscript ? j'ai essayé pas mal de truc impossible de trouver... :/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/02/2008, 14h55
  2. créer une base de données navec MS sql server 2005
    Par katyajea dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 12/04/2007, 23h02
  3. Réponses: 1
    Dernier message: 01/01/2007, 14h05
  4. [ Base de données documentaires ] avec sql server
    Par kakid dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/02/2006, 20h43
  5. Migration base de données Access 2000 - SQL Server
    Par 24 faubourg dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 06/12/2005, 22h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo