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

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top