Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / поключение к MS SQL из VBA - Logon failed for login 'user_login' due to trigger execution / 9 сообщений из 9, страница 1 из 1
12.12.2013, 17:16
    #38498952
Hedera
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поключение к MS SQL из VBA - Logon failed for login 'user_login' due to trigger execution
MS Office 2010 - встроенный Visual Basic. MS SQL Server 2008 (r2), удаленный.
Создаю вручную файл подключения с раширением udl. Проверка подключения проходит успешно.
Потом, чтобы быть уверенной, что строки идентичны, строку подключения из этого файла копирую в строку подключения ADO в VBA:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Private Sub OpenConnection()

     Dim cn As ADODB.Connection
     Dim strSQL As String

     Set cn = New OLEDBConnection
    
     On Error GoTo CnErrorHandler

     cn.Open "Provider=SQLOLEDB.1;Password=password;Persist Security Info=True;User ID=user_login;Initial Catalog=db_name;" & _
                 "Data Source=server_name;"
    
     Exit Sub

     CnErrorHandler:

    For Each ADOErr In cn.Errors
       Debug.Print ADOErr.Description
    Next

end Sub


Получаю ошибку "Logon failed for login 'user_login' due to trigger execution" . Такая же ошибка возвращается и при попытке подключения из Excel через мастер подключений, с теми же параметрами, что и для udl-файла.
В то же время в Delphi, используя TAdoConnection подключаюсь и выполняю запросы к серверу без проблем с той же строкой подключения.

Стоит задача настроить подлючение именно из Excel или Access. Может ли на сервере быть тригггер на коннект из конкретных приложений или это бред?
Подскажите пожалуйста, в чем здесь может быть дело?
...
Рейтинг: 0 / 0
12.12.2013, 17:44
    #38499008
zchvv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поключение к MS SQL из VBA - Logon failed for login 'user_login' due to trigger execution
Я подключаюсь к удаленной базе из Excel'я по такой строке:
cns = "Provider=SQLOLEDB.1;Data Source=ITVT-16\SQLExpress;User ID=sa;Password=888;Initial Catalog=remloko"
Все работает.
...
Рейтинг: 0 / 0
12.12.2013, 17:52
    #38499028
Hedera
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поключение к MS SQL из VBA - Logon failed for login 'user_login' due to trigger execution
zchvv,
Прошу, прощения, но чем же моя строка отличается от вашей?
...
Рейтинг: 0 / 0
12.12.2013, 18:16
    #38499063
zchvv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поключение к MS SQL из VBA - Logon failed for login 'user_login' due to trigger execution
Ничем. Я просто констатирую факт: у меня работает (Office 2007). Да, у меня UserId=sa! Может, это имеет значение? Я сам не силен во всем этом, все больше методом тыка.
...
Рейтинг: 0 / 0
12.12.2013, 18:25
    #38499073
Hedera
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поключение к MS SQL из VBA - Logon failed for login 'user_login' due to trigger execution
Спачибо за ответы!
Может конечно дело в пользователе, но повторюсь - с той же самой учетной записью к тому же серверу и базе из Delphi и через создание вручною файла udl я подключаюсь без проблем - вот в чем непонятка.
...
Рейтинг: 0 / 0
12.12.2013, 18:53
    #38499114
Hedera
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поключение к MS SQL из VBA - Logon failed for login 'user_login' due to trigger execution
Попробовала только что прописать другой сервер и другую базу - все ОК. То есть это вопрос не по VBA - проблема на стороне сервера. Прошу тему закрыть.
Спасибо.
...
Рейтинг: 0 / 0
12.12.2013, 18:56
    #38499119
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поключение к MS SQL из VBA - Logon failed for login 'user_login' due to trigger execution
Проверьте, что имеет место быть в sys.server_triggers.
Ну и посмотрите вот это .
...
Рейтинг: 0 / 0
12.12.2013, 19:24
    #38499137
Hedera
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поключение к MS SQL из VBA - Logon failed for login 'user_login' due to trigger execution
Спасибо, похоже, это то, что нужно. Попробую копать в этом направлении.
...
Рейтинг: 0 / 0
13.12.2013, 17:32
    #38500410
Hedera
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поключение к MS SQL из VBA - Logon failed for login 'user_login' due to trigger execution
Отчитываюсь по вопросу.

Таки да, на сервере обнаружился триггер на вход (FOR LOGON) который
анализирует APP_NAME() и если оно LIKE '%MICROSOFT OFFICE%' OR APP_NAME() LIKE '%EXCEL%' OR APP_NAME() LIKE '%ACCESS%' и т.д., то делает ROLLBACK.
С БД-админом у нас состоялась дискуссия на эту тему и ему было продемонстрировано, что если в строку
подключения прописать параметр Application Name = НеЭксельИНеОфис, то его триггер не работает, а мое подключение работает.

Он пошед думать над новым триггером, а тема закрыта, всем спасибо.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / поключение к MS SQL из VBA - Logon failed for login 'user_login' due to trigger execution / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]