Connection table sql serveur

Résolu
l0r3nz1 Messages postés 218 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 17 mars 2012 - 17 mars 2008 à 17:15
l0r3nz1 Messages postés 218 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 17 mars 2012 - 18 mars 2008 à 14:40
Bonjour,
Décidément le passage à SQL serveur est difficile. Je peux me connecter à une bdd ACCESS liée avec SQL serveur mais seulement avec DAO car avec ADO il n'y a pas d'option équivalente au "dbSeeChanges" de DAO (seule la lecture est ok). Il devrait pourtant y avoir une méthode pour se connecter directement à une table SQL et il devrait être possible de se connecter avec DAO qui est censé être plus efficace avec SQL serveur?
Voila mon code en vb2005:
cnString = "Provider=SQLOLEDB.1;DATA SOURCE=.\SQLEXPRESS;INITIAL CATALOG=" & bdd & ";Connect Timeout=30;User Instance=True;integrated seurity=BSTR;"
J'ai essayé pas mal de possibilité mais je bloque , même avec vb2005 je crois que c'est une question de configuration plus qu'une question de code, en tout cas je bloque vraiment donc si quelqu'un pouvait me dire ce qui deconne dans le ptit bout code ci dessous par exemple:
'connection tout ce qu'il y a de plus classique avec des commentaires quend je veux tester differents type de bdd
Dim cn As New System.Data.SqlClient.SqlConnection
Dim cmd As New System.Data.SqlClient.SqlCommand
Dim sqlR As System.Data.SqlClient.SqlDataReader
Dim bdd

bdd = "C:\data\atelier\missionsOr\conditionsReelles\sfr 2g.mdb"
'bdd = "\data\2008 - Serveur orange 1.adp"
'bdd = "C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Data\2007 - Serveur orange 7SQL.mdf"
'cn.ConnectionString = "server=DNSsqlServeur\SQL Server (MSSQLSERVER);database=" & bdd & ";Persist Security Info=false;Integrated Security=SSPI;"
'cn.ConnectionString = "Data Source=" & "DNSsqlServeur\SQL Server (MSSQLSERVER)" & ";Initial Catalog=" & bdd & ";Integrated Security=SSPI; "
'cn.ConnectionString = "server=DNSsqlServeur\SQL Server (MSSQLSERVER);database='" & bdd & "'Data Source='.\SQLEXPRESS';Integrated Security='True';Connect Timeout='30';User Instance='True'"
'cn.ConnectionString = "server=.\SQLEXPRESS;AttachDbFilename=" & "'\\Pcbur0610-1\c$\data\atelier\TEST VB VBA SQL SERVEUR\manipulationSQLserveurv2CS.adp';Integrated Security=True;Connect Timeout=30;User Instance=True"
'cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & bdd ' & ";data1.options = dbSeeChanges;"
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & bdd & ";Integrated Security=True;Connect Timeout=30;User Instance=True"
'cn.DataSource = ".\SQLEXPRESS"

cn.Open()
cmd.Connection = cn
cmd.CommandText = ("SELECT * FROM configuration_active")
sqlR = cmd.ExecuteReader()
Do While sqlR.Read()
ajtxt(sqlR.GetString(0) & "; " & sqlR.GetValue(0))
Loop
sqlR.Close()
cn.Close()


Conclusion: si seulement un indice pouvait m'être présenté pour que ce passage à SQL serveur soit moins difficile...
Merci d'avance

PS: J'ai aussi laissé une source
http://www.vbfrance.com/codes/CONNECTION-BASES-DONNEES_46091.aspx
Qui permet la lecture et écriture (DAO) et E/S ADO pour des bdd ACCESS sans intérêt immédiat c'est difficile avec les bdd (souvent trop spécifique) mais pour récupérer le code ça peut être pas mal.

@+

3 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
17 mars 2008 à 17:30
Alors visiblement tu es un peu largué dans les techiques d'accès aux BDD.

DAO est vieux et obsolète depuis plus de 10 ans, il date de VB4. Il était founis avec VB5 et VB6 pour des raisons de compatibilités seulement.
A l'époque il était déjà très vivement conseiller d'utiliser ADO, son successeur, nettement plus stable et puissant.

Depuis avec la sortie de la plateforme .Net, ADO a été remplacé par ADO.Net (en version 2.0 sous VS2005)
Donc tes accès aux bdd sous VB2005 se font en ADO.Net et rien d'autre.

Pour ce qui est des types de bases, pour les bases SQLServer tu dois utiliser le outils du namespace System.Data.SQLClient.
Quant aux bases Access, l'utilisation se fait via les outils du namespace System.Data.OleDB
Pour ce qui est des chaines de connections, avec SQL tu utilisera une chaine du type :
Data Source= myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
ou éventuellement :
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

Avec Access, tu utilisera :
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;

Tu trouvera toutes les infos sur les chaines de connection sur le site http://www.connectionstrings.com/default.aspx

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
l0r3nz1 Messages postés 218 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 17 mars 2012
17 mars 2008 à 20:22
Et dire que je m'acharnais sur jurassique park. ouf merci.
0
l0r3nz1 Messages postés 218 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 17 mars 2012
18 mars 2008 à 14:40
Bonjour,
Casy le site que tu m?as présenté est très intéressant mais le problème persiste. En fait je t'avoue que j'avais déjà essayé les différents types de chaine de connexion.
Maintenant je pense que pour ce
"Échec de l'ouverture de session de l'utilisateur 'moi''. L'utilisateur n'est pas associé à une connexion SQL Server approuvée."
c'est plus un problème de configuration... reste à fouiller! j'y arrive bien avec VBA...
(http://www.vbfrance.com/codes/CONNECTION-BASES-DONNEES_46091.aspx )
0
Rejoignez-nous