Question

J'ai quelques Crystal Reports connexion à un serveur db que Sql je voudrais détecter si la connexion est digne de confiance ou si je dois fournir le journal sur les informations (rapports ne sont pas fournis par moi, donc je ne peux pas contrôler la connexion méthode). Si je viens de fournir aveuglément les informations de connexion, il ne se connecte pas si elle est une connexion sécurisée.

Ce qui suit ne fonctionne pas:

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

Il donne l'erreur suivante: Opérateur '=' est pas définie pour le type 'IConnectionProperty' et type 'booléenne'.

Je ne peux pas trouver comment créer une construction dans vb.net pour IConnectionProperty. Je ne trouve aucun document de Crystal qui l'expliquent. J'utilise Crystal Reports XI - Développeur

Était-ce utile?

La solution

Je pense que je l'ai trouvé la réponse. En utilisant la propriété ConnectBufferString

Comme ceci:

Console.WriteLine(oRpt.Database.Tables(1).ConnectBufferString.ToString)

Il vous donnera une chaîne comme ceci

Provider = SQLOLEDB ;; Data Source = MONPC \ SQLEXPRESS ;; Initial Catalog = sample_db ;; ID utilisateur = ;; Mot de passe = ;; Integrated Security = -1 ;; Utilisez DSN Propriétés par défaut = 0 ;; = 1033 Locale Identifier ;; Connect Timeout = 15 ;; délai d'attente général = 0 ;; OLE DB services = -5 ;; Langue actuelle = ;; initial nom du fichier = ;; Utiliser le cryptage pour les données = 0 ;; nom du serveur de réplication connecter option = ;; Tag avec collation de colonne lorsque cela est possible = 0

Vous avez l'air pour les éléments suivants:

Sécurité intégrée = -1 = Trusted Connection

Sécurité intégrée = 0 = connexion non sécurisée

Espérons que cela aide quelqu'un d'autre depuis que j'ai perdu quelques heures à la recherche.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top