2010-03-28 4 views
4

J'essaie de tester la connexion d'une base de données GoDaddy SQL Server. J'obtiens un 'attribut de chaîne de connexion invalide'.Exécution d'un script VBA simple pour tester une connexion

Quel est le problème avec ce script?

Dim cnn As ADODB.Connection 
Dim canConnect As Boolean 

Public Sub TestConnection() 

    Set cnn = New ADODB.Connection 
    cnn.Open "Provider=sqloledb;Data Source=GoDaddyServer.com;Initial Catalog=dBase1;UserID=userID; Password='password';" 
    If cnn.State = adStateOpen Then 
     canConnect = True 
     cnn.Close 
    End If 
MsgBox canConnect 

End Sub 
+0

@ l'affiche originale, si l'une des réponses ci-dessous votre problème résolu (et il semble que cela a fait), ne pas oublier de vert- vérifiez-le pour les personnes futures qui trébuchent sur ce post avec le même problème. – PowerUser

Répondre

4

IIRC, vous devez spécifier la propriété du fournisseur en dehors de la chaîne de connexion comme ceci:

Dim conn 
Set conn = New ADODB.Connection 
conn.Provider = "sqloledb" 
conn.Open "Data Source=GoDaddyServer.com; Initial Catalog=dbase1; User ID=userid; Password=pass;" 
+0

Merci. Je l'ai fait fonctionner. La clé plaçait la chaîne de connexion dans un objet séparé et transmettait cette chaîne à l'objet de connexion. L'autre clé changeait le paramètre User ID en 'Uid'. C'est requis pour le 'Provider = sqloledb; – brohjoe

2

Je ne l'ai jamais vu un mot de passe cité dans une chaîne de connexion SQL Server comme vous avez. Essayez de supprimer les citations:

 
"Provider=sqloledb;Data Source=GoDaddyServer.com;Initial Catalog=dBase1;User ID=userID; Password=password;" 

Vous pourriez trouver connectionstrings.com utile à l'avenir.

+0

vous avez raison. J'ai pris les graduations du mot de passe. Merci. – brohjoe

1

On peut spécifier le fournisseur direct dans la chaîne de connexion

Dim cnn as ADODB.Connection 
Dim cnn_str as String 
cnn_str = "Provider=SQLOLEDB;Data Source=SERVER;Initial Catalog=DB;User ID=sa;Password=PASSWORD" 
Set cnn = New ADODB.Connection 
cnn.Open cnn_str 
Questions connexes