Как обнаружить доверенное соединение в Crystal Reports, используя VB.NET?
У меня есть несколько 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 Reports XI - Разработчик
1 ответ
Я думаю, что нашел ответ. Используя свойство ConnectBufferString
Как это:
Console.WriteLine(oRpt.Database.Tables(1).ConnectBufferString.ToString)
Это даст вам строку, как это
Поставщик =SQLOLEDB;; Источник данных =MYPC\SQLEXPRESS;; Исходный каталог =sample_db;; Идентификатор пользователя =;; Пароль =;; Интегрированная безопасность =-1;; Использование DSN по умолчанию Свойства =0;; Идентификатор языкового стандарта =1033;; Подключение Время ожидания =15;; Общее время ожидания =0;; Службы OLE DB =-5;; Текущий язык =;; Исходное имя файла =;; Использовать шифрование для данных =0;; Параметр подключения имени сервера репликации =;; Тег с сопоставлением столбцов когда возможно = 0
Вы просто ищете следующее:
Интегрированная безопасность =-1 = Доверенное соединение
Интегрированная безопасность =0 = Ненадежное соединение
Надеюсь, это поможет кому-то еще, так как я потратил несколько часов на поиски.