Как обнаружить доверенное соединение в 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 = Ненадежное соединение

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

Другие вопросы по тегам