Попытка получить данные из SQL Server 2005 из макроса Excel - PullRequest
1 голос
/ 13 июля 2010

Я пытаюсь получить данные с SQL Server 2005, чтобы преуспеть .. Я написал код в Excel VBA

Ниже мой код

Dim strConnection, conn, rs, strSQL

strConnection = "Provider=sqloledb;Data Source=LEON7269-G09\SQLEXPRESS;Initial Catalog=test;User Id=sa;Password=sa@123;"

Set conn = Server.CreateObject("ADODB.Connection")
conn.Open strConnection

Set rs = Server.CreateObject("ADODB.recordset")
strSQL = "SELECT * FROM UserDetails"
rs.Open strSQL, conn, 3, 3

rs.MoveFirst
While Not rs.EOF
     Response.Write (rs("myField") & "<br/>")
rs.MoveNext
Wend

rs.Close
Set rs = Nothing

conn.Close
Set conn = Nothing

Но я получаю ошибку в строкеУстановите conn = Server.CreateObject ("ADODB.Connection")

как ошибку времени выполнения 424

Я попытался добавить ссылки в vba -> tools -> reference, но ничего не работает ... Пожалуйста, ведите меня

Ответы [ 3 ]

1 голос
/ 10 мая 2011

Одной из причин использования позднего связывания может быть:

Позднее связывание имеет то преимущество, что вам не нужно компилировать код

В случае использования в макросе vba нет необходимости устанавливать ссылку, что затрудняет развертывание макроса vba

Говорят, что позднее связывание выполняется медленнее, потому что объект-интерфейс позже назначается объекту, отсюда и выражение позднее связывание.

Привет.

1 голос
/ 13 июля 2010

Если это Excel VBA, вы должны избавиться от всех ссылок на сервер, то есть:

 CreateObject("ADODB.Connection")

Не

 Server.CreateObject("ADODB.Connection")

Это тоже не сработает:

  Response.Write (rs("myField") & "<br/>")
0 голосов
/ 13 июля 2010

Вы упомянули, что вы положили ссылку, тогда вы должны иметь это

Dim conn as Connection
Dim rst as Recordset
Set conn = New Connection
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...