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 :

ouvrir 2 connections ADODB en même temps


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Par défaut ouvrir 2 connections ADODB en même temps
    Bonjour à tous!

    Encore un problème pour moi en vbs!!
    Voilà je me sers de connections ADODB pour récupérer des infos dans des fichiers csv. Jusque là pas de problème, mais dans mon nouveau script j'ai 2 fichiers csv à parcourir (en même temps), et là c'est le drame : Lors de l'ouverture de la 2eme connection (méthode open), le script génère une erreur "Cette opération n'est pas autorisée si l'objet est ouvert".

    Je ne peux pas utiliser les mêmes objets connection ADODB pour les recordsets car les fichier csv ne se situent pas dans le même dossier, et je ne peux pas faire autrement.
    Est-ce qu'il y a une autre possibilité?

    Voilà mon code :
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    Const adOpenStatic = 3
    Const adLockOptimistic = 3
    Const adCmdText = &H0001
     
    Const STR_ROOT_PATH = "C:\"
    Const STR_CSV_FILE_ONE = "file.csv"
     
    Set objConnectionPrinterServer = CreateObject("ADODB.Connection")
    Set objRecordSetPrinterServer = CreateObject("ADODB.Recordset")
    Set objConnectionCasParticulier = CreateObject("ADODB.Connection")
    Set objRecordSetCasParticulier = CreateObject("ADODB.Recordset")
     
    strOldName = "toto"
     
    objConnectionPrinterServer.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    	"Data Source=" & STR_ROOT_PATH & ";" & _
    	"Extended Properties=""text;HDR=YES;FMT=Delimited"""
     
    objRecordSetPrinterServer.Open "SELECT * FROM " & STR_CSV_FILE_ONE, _
    	objConnectionPrinterServer, adOpenStatic, adLockOptimistic, adCmdText
     
    Do Until objRecordSetPrinterServer.EOF
     
    	strCsvFilePath = STR_ROOT_PATH & "folder\"
    	strParticularCaseCsvFileName = "file2.csv"
     
    	'Cas particulier
    	If objFso.FileExists(strCsvFilePath & strParticularCaseCsvFileName) Then
    		objConnectionCasParticulier.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    			"Data Source=" & strCsvFilePath & ";" & _
    			"Extended Properties=""text;HDR=YES;FMT=Delimited"""
     
    		objRecordsetCasParticulier.Open "SELECT * FROM " & strParticularCaseCsvFileName & " WHERE  strInitPrt='" & strOldName & "'", _
    			objConnectionCasParticulier, adOpenStatic, adLockOptimistic, adCmdText
     
    			Do Until objRecordsetCasParticulier.EOF
    				strNewPort = objRecordsetCasParticulier.Fields.Item("strNewPrt")
    				objRecordsetCasParticulier.MoveNext
    			Loop
    			objRecordsetCasParticulier.Close
    	End If
    	WScriot.Echo strNewPort
    	objRecordSetPrinterServer.MoveNext
    Loop
    Merci de votre aide
    pitchalov

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

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

    Il ne te manquerai pas le fermeture de la connexion ?

    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
    Do Until objRecordSetPrinterServer.EOF
     
    	strCsvFilePath = STR_ROOT_PATH & "folder\"
    	strParticularCaseCsvFileName = "file2.csv"
     
    	'Cas particulier
    	If objFso.FileExists(strCsvFilePath & strParticularCaseCsvFileName) Then
    		objConnectionCasParticulier.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    			"Data Source=" & strCsvFilePath & ";" & _
    			"Extended Properties=""text;HDR=YES;FMT=Delimited"""
    			
    		objRecordsetCasParticulier.Open "SELECT * FROM " & strParticularCaseCsvFileName & " WHERE  strInitPrt='" & strOldName & "'", _
    			objConnectionCasParticulier, adOpenStatic, adLockOptimistic, adCmdText
    			
    			Do Until objRecordsetCasParticulier.EOF
    				strNewPort = objRecordsetCasParticulier.Fields.Item("strNewPrt")
    				objRecordsetCasParticulier.MoveNext
    			Loop
    			objRecordsetCasParticulier.Close
                                          objConnectionCasParticulier.Close 
    	End If
    	WScriot.Echo strNewPort
    	objRecordSetPrinterServer.MoveNext
    Loop

  3. #3
    Membre chevronné Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Par défaut
    Merci pc75, le problème venait de là, c'est bien sympa d'avoir de m'avoir aidé.
    Problème résolu!
    Désolé pour la réponse tardive, j'étais plus dans la place pendant un moment...

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

Discussions similaires

  1. [OL-2007] Ouvrir 2 profils outlook en même temps ?
    Par Yvette dans le forum Outlook
    Réponses: 10
    Dernier message: 21/07/2021, 08h21
  2. [Conception] Peut-ont ouvrir deux BD en même temps ?
    Par nikicaillou dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/01/2007, 14h45
  3. [MySQL] Comment se connecter sur 2 BD en même temps ?
    Par cassy dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 26/05/2006, 12h57
  4. [Débutant] Se connecter à 2 bases en même temps
    Par Prohte dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/02/2006, 18h20
  5. [MySQL] Se connecter à deux base de données en même temps ??
    Par leo13 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 20/01/2005, 10h36

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