2017-02-21 20 views
0

Я создал соединение между Excel и SQL Server с использованием макроса VBA, но у меня есть некоторые трудности с строкой соединения, в частности с параметром Initial Catalog.Подключение SQL к Excel в VBA

Когда я запускаю следующее, мое соединение прекрасное, и я могу скопировать данные в Excel, обратившись к полному пути к таблице ([dbname]. [Dbo]. [Tablename]).

{conn.open = "Provider=SQLOLEDB;Data Source=" & Server_Name & ";Trusted_connection=yes"}

Однако, когда я бегу другую версию строки подключения (ниже), не удается установить соединение со следующей ошибкой:

{"Provider=SQLOLEDB;Data Source=" & Server_Name & ";Initial Catalog=" & Database_Name & ";Trusted_connection=yes"}

error message

Ошибка, по-видимому, находится в инициализации целевой базы данных - я не администратор, но не понимаю, почему логин завершился неудачно, так как у меня есть доступ к t он и может подключиться к серверу отлично. Любая помощь будет оценена по достоинству.

+0

Что такое 'Database_Name'? В нем говорится, что он не может его открыть. Это реально? Имеются ли ограничения? – Vityata

+0

Вам нужно указать учетные данные пользователя? –

ответ

1

Во втором примере, а не «Trusted_Connection = Да», попробуйте «Integrated Security = SSPI»

0

Спасибо за ответы - я теперь удалось выяснить этот вопрос. База данных была в порядке, поскольку она существовала и не имела ограничений в отношении моего доступа. Кроме того, доступ к серверу был прекрасным (например, с точки зрения пользовательских учетных данных или SSPI против надежного соединения).

вопрос был на самом деле просто очень основная ошибка - database_name переменная хранится в квадратных скобках (как это будет упоминаться в обычном коде SQL):

{database_name = "[database]"}

Удаление квадрата скобки активировали работу кода