Come rilevare una connessione attendibile in Crystal Reports utilizzando VB.NET?
-
22-09-2019 - |
Domanda
Ho alcuni Crystal Reports connessi a un db SQL Server che vorrei rilevare se la connessione è attendibile o se devo fornire le informazioni di accesso (i report non vengono forniti da me, quindi non posso controllare il metodo di connessione).Se fornisco semplicemente le credenziali di accesso ciecamente, non si connetterà se si tratta di una connessione attendibile.
Quanto segue non funziona:
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
Dà il seguente errore:L'operatore '=' non è definito per il tipo 'IConnectionProperty' e il tipo 'Boolean'.
Non riesco a trovare come creare un costrutto in vb.net per IConnectionProperty.Non riesco a trovare alcun documento di Crystal che lo spieghi.Sto utilizzando Crystal Reports XI - Sviluppatore
Soluzione
Penso di aver trovato la risposta.Utilizzando la proprietà ConnectBufferString
Come questo:
Console.WriteLine(oRpt.Database.Tables(1).ConnectBufferString.ToString)
Ti darà una stringa come questa
Provider=SQLOLEDB;;Origine dati=MYPC\SQLEXPRESS;;Catalogo iniziale=sample_db;;ID utente=;;Password=;;Sicurezza integrata=-1;;Utilizza proprietà predefinite DSN=0;;Identificatore locale=1033;;Connetti Timeout=15;;Timeout generale=0;;Servizi OLE DB=-5;;Lingua corrente=;;Nome file iniziale=;;Utilizza crittografia per dati=0;;Opzione di connessione nome server di replica=;;Tag con regole di confronto delle colonne quando possibile=0
Cerca semplicemente quanto segue:
Sicurezza integrata=-1 = Connessione affidabile
Sicurezza integrata=0 = Connessione non attendibile
Spero che questo aiuti qualcun altro visto che ho perso qualche ora a cercare.