Access Et SQL SVR avec ADODB

cs_Hobby Messages postés 116 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 17 septembre 2008 - 14 nov. 2003 à 00:31
cs_Hobby Messages postés 116 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 17 septembre 2008 - 14 nov. 2003 à 06:43
Bonsoir,

J'ai développé un petit soft qui me permet de géré mes 200K adresse email, j'ai fait une db access (2K) cela fonctionne très bien, mais c'est lent, j'utilise ADODB (2.6).

Voici ma methode (en general):
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn= New ADODB.Connection
strProvider = "DRIVER={Microsoft Access Driver (*.mdb)};Driverld=25;DBQ=" & App.Path & "\cyber.mdb"
cn.Open strProvider
Set rc= New ADODB.Recordset
rc.Open "SELECT * FROM temp", cn, 1, 2
Do While Not rc.EOF
rc.movenext
Loop
rc.close
.....

Je voulait faire un test avec MS SQL 2000 (personal)
J'ai pas trouvé la chaine de connexion nécessaire donc j'ai jeté un coup d'oeil dans les exemples livré avec MSSQL.
Il utilise une methode similaire:
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim UserName As String
Dim Password As String
Dim ServerName As String
Dim DBName As String
UserName = ""
Password = ""
ServerName = ""
DBName = "cyber"
cn.ConnectionTimeout = 25
cn.Provider = "sqloledb"
cn.Properties("Data Source").Value = ServerName
cn.Properties("Initial Catalog").Value = DBName
cn.Properties("Integrated Security").Value = "SSPI"
cn.Open
Set rs = New ADODB.Recordset
rs.Open "SELECT * FROM main", cn, adOpenKeyset, adLockPessimistic
Do While Not rs.EOF
Debug.Print rs("email")
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing


Mais c'est encore plus lent....

Avez-vous une ID du comment je pourrait utilisé ADODB avec MSSQL, je pensai personnellement que le remplacement de la string de connection suffisait, mais cela na pas le cas.

Merci de votre Aide
Olivier

2 réponses

m2rtech Messages postés 239 Date d'inscription mercredi 9 octobre 2002 Statut Membre Dernière intervention 20 février 2012
14 nov. 2003 à 03:50
Salut, la boucle DO LOOP sert à quoi ?
0
cs_Hobby Messages postés 116 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 17 septembre 2008
14 nov. 2003 à 06:43
La boucle permet de parcourir tous les records. c'est pourquoi il y a 'rs.MoveNext' pour passé au record suivant et "Do While Not rs.EOF" pour détecté la fin de sélection du recordset

Merci
Olivier
0
Rejoignez-nous