¿Cómo detectar una conexión confiable en Crystal Reports usando VB.NET?
-
22-09-2019 - |
Pregunta
Tengo algunos Crystal Reports que se conectan a una base de datos de Sql Server y me gustaría detectar si la conexión es confiable o si necesito proporcionar la información de inicio de sesión (los informes no los proporciono yo, por lo que no puedo controlar el método de conexión).Si proporciono ciegamente las credenciales de inicio de sesión, no se conectará si es una conexión confiable.
Lo siguiente no funciona:
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
Da el siguiente error:El operador '=' no está definido para el tipo 'IConnectionProperty' y el tipo 'Boolean'.
No puedo encontrar cómo crear una construcción en vb.net para IConnectionProperty.No puedo encontrar ningún documento de Crystal que lo explique.Estoy usando Crystal Reports XI - Desarrollador
Solución
Creo que encontré la respuesta.Usando la propiedad ConnectBufferString
Como esto:
Console.WriteLine(oRpt.Database.Tables(1).ConnectBufferString.ToString)
Te dará una cadena como esta.
Proveedor=SQLOLEDB;;Fuente de datos=MYPC\SQLEXPRESS;;Catálogo inicial=sample_db;;ID de usuario=;;Contraseña=;;Seguridad integrada=-1;;Usar propiedades predeterminadas de DSN=0;;Identificador local=1033;;Conectar Tiempo de espera=15;;Tiempo de espera general=0;;Servicios OLE DB=-5;;Idioma actual=;;Nombre de archivo inicial=;;Usar cifrado para datos=0;;Opción de conexión del nombre del servidor de replicación=;;Etiqueta con intercalación de columnas cuando sea posible = 0
Solo busca lo siguiente:
Seguridad integrada=-1 = Conexión confiable
Seguridad integrada=0 = Conexión no confiable
Espero que esto ayude a alguien más ya que perdí algunas horas buscando.