Как обнаружить доверенное соединение в Crystal Reports с помощью VB.NET?

StackOverflow https://stackoverflow.com/questions/2532968

Вопрос

У меня есть несколько Crystal Reports, подключающихся к базе данных Sql Server, и я хотел бы определить, является ли соединение доверенным или мне нужно предоставить информацию для входа в систему (отчеты не предоставляются мной, поэтому я не могу контролировать метод подключения).Если я просто слепо предоставлю учетные данные для входа, оно не будет подключаться, если это доверенное соединение.

Не работает следующее:

oRpt = oCR.OpenReport("C:\MyReport.rpt")

if oRpt.Database.Tables(1).ConnectionProperties.Item("Integrated Security") = True then 
       'trusted connection
    else
       'supply login credentials
    end if

Выдает следующую ошибку:Оператор «=» не определен для типа «IConnectionProperty» и типа «Boolean».

Я не могу найти, как создать конструкцию в vb.net для IConnectionProperty.Я не могу найти никаких документов от Crystal, объясняющих это.Я использую Crystal Reports XI — разработчик

Это было полезно?

Решение

Думаю, я нашел ответ.С помощью свойства ConnectBufferString

Так:

Console.WriteLine(oRpt.Database.Tables(1).ConnectBufferString.ToString)

Это даст вам такую ​​​​строку

Provider=SQLOLEDB;;Источник данных=MYPC\SQLEXPRESS;;Начальный каталог=sample_db;;Идентификатор пользователя=;;Пароль=;;Встроенная безопасность=-1;;Использовать свойства DSN по умолчанию=0;;Идентификатор локали=1033;;Подключиться Таймаут=15;;Общий таймаут=0;;Службы OLE DB=-5;;Текущий язык=;;Исходное имя файла=;;Использовать шифрование для данных=0;;Имя сервера репликации Connect option=;;Тег с сопоставлением столбцов когда возможно = 0

Вы просто ищете следующее:

Интегрированная безопасность=-1 = доверенное соединение

Интегрированная безопасность = 0 = ненадежное соединение.

Надеюсь, это поможет кому-то еще, поскольку я потратил несколько часов на поиски.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top