2

SQL Serverデータベースに接続しているCrystalReportsがあり、接続が信頼されているかどうか、またはログオン情報を提供する必要があるかどうかを検出したいと思います(レポートは提供されないため、接続方法を制御できません)。ログイン資格情報を盲目的に提供しただけでは、信頼できる接続である場合は接続されません。

以下は機能しません。

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'に対して定義されていません。

IConnectionPropertyのvb.netで構成を作成する方法が見つかりません。それを説明するCrystalのドキュメントが見つかりません。CrystalReportsXIを使用しています-開発者

4

1 に答える 1

0

私は答えを見つけたと思います。プロパティ ConnectBufferString を使用する

このような:

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

このような文字列が得られます

Provider=SQLOLEDB;;Data Source=MYPC\SQLEXPRESS;;Initial Catalog=sample_db;;User ID=;;Password=;;Integrated Security=-1;;Use DSN Default Properties=0;;Locale Identifier=1033;;Connectタイムアウト=15;;一般的なタイムアウト=0;;OLE DB サービス=-5;;現在の言語=;;初期ファイル名=;;データの暗号化を使用=0;;レプリケーション サーバー名接続オプション=;;列照合のタグ可能な場合=0

次を探すだけです。

Integrated Security=-1 = 信頼できる接続

Integrated Security=0 = 信頼できない接続

私は数時間を見て無駄にしたので、これが他の誰かに役立つことを願っています.

于 2010-03-28T13:41:05.100 に答える