Я пытаюсь запустить хранимую процедуру на моем сервере SQL. Я думаю, что тип соединения "ODBC", но я не уверен, я пытаюсь сделать следующее:
'Declare some variables
Dim cnn As ADODB.Connection
Dim cmd As ADODB.Command
Dim strSQL As String
Dim gway As String
'Create a new Connection object
Set cnn = New ADODB.Connection
'Set the connection string
cnn.ConnectionString = connectionString 'See http://connectionstrings.com if you need help on building this string for your database!
'Create a new Command object
Set cmd = New ADODB.Command
'Associate the command with the connection
'Open the Connection to the database
cnn.Open
cmd.ActiveConnection = cnn
VARIABLE= "param"
strSQL = "EXECUTE dbo.NAMEWASHERE '" & VARIABLE & "';"
cmd.Execute strSQL
'Close the connection again
cnn.Close
Когда я пытаюсь запустить это, я получаю сообщение об ошибке: Ошибка выполнения «3709»;
Для запрошенной операции требуется объект сеанса OLE DB, который не поддерживается текущим поставщиком.
Я уверен, что где-то ошибся в типе подключения, но может ли кто-нибудь мне помочь?
Чтобы подтвердить, я пытаюсь подключиться через ODBC к SQLServer2005 через Excel VBA (2003)
Большое спасибо.
ОБНОВЛЕНИЕ С ИСПРАВЛЕНИЕМ: необходимо открыть соединение перед использованием ".ActiveConnection = """. Я отредактировал исходный код, чтобы показать это изменение.
cnn.connectionString = "Provider=SQLNCLI10;Server=10.1.241.20;Database=master;Uid=xxx;Pwd=xxx;"
и переместитеSet cmd.ActiveConnection = cnn
в после вызоваcnn.Open
, у меня все работает нормально - person Alex K.   schedule 01.09.2011