Ich verwende diese Syntax, um eine gespeicherte SQL Server 2008-Prozedur von Excel 2013 auszuführen. Alles wird so ausgeführt, wie es sollte auf einem PC, aber wenn ich versuche, es auf einem zweiten PC auszuführen, es mit einem FehlerAusführen von SQL-Abfrage von VBA
OLEDB Verbindungsfehler
Sollte nicht, da ich den server~~POS=TRUNC bin hartzucodieren, Benutzername und Passwort der Syntax run w/oa hitch auf jedem PC?
Function RunSQLServerProc()
Dim con As ADODB.Connection
Dim cmd As ADODB.Command
Dim rs As ADODB.Recordset
Set con = New ADODB.Connection
Set cmd = New ADODB.Command
Set rs = New ADODB.Recordset
con.Open "Provider=SQLOLEDB;Data Source=Server;Initial Catalog=Database;User Id=userid;Password=password;Integrated Security=SSPI;Trusted_Connection=Yes;"
cmd.ActiveConnection = con
cmd.CommandText = "TestProc"
Set rs = cmd.Execute(, , adCmdStoredProc)
End Function
Dies wird tatsächlich ausgeführt? Ich sehe nicht, wo Sie die Verbindung dem Befehl zuweisen. Außerdem ist die Angabe von Benutzer-ID und Kennwort mit Integrated Security = SSPI widersprüchlich. Sicherlich ist das nicht die ganze Fehlermeldung. –
@PaulAbbott - Entschuldigung, Fehler beim Kopieren/Einfügen. Ich habe in cmd.ActiveConnection = con .... hinzugefügt. Ich möchte nur in der Lage sein, dass jeder Benutzer, der die Arbeitsmappe öffnet, die Verbindung zu SQL Server ausführen kann. Unabhängig davon, auf welchem Computer es geöffnet ist. –
Also versuchen Sie sich mit einem SQL Benutzernamen und Passwort oder dem aktuellen Windows Login zu authentifizieren? –