Как обнаружить доверенное соединение в Crystal Reports, используя VB.NET? - PullRequest
2 голосов
/ 28 марта 2010

У меня есть несколько 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 - Developer

1 Ответ

0 голосов
/ 28 марта 2010

Я думаю, что нашел ответ.Используя свойство 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 ;; Параметр подключения имени сервера репликации = ;; Пометить сопоставление столбцов, когда это возможно = 0

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

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

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

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

...