我有一些Crystal Reports连接到Sql Server数据库,我想检测连接是否可信或我是否需要提供登录信息(报告不是由我提供的,所以我无法控制连接方法)。如果我只是盲目地提供登录凭据,如果它是可信连接则不会连接。
以下不起作用:
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'定义Operator'='并输入'Boolean'。
我找不到如何在vb.net中为IConnectionProperty创建一个构造。我找不到Crystal解释它的任何文件。 我正在使用Crystal Reports XI - Developer
答案 0 :(得分: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 Timeout = 15 ;; General Timeout = 0 ;; OLE DB Services = -5 ;; Current Language = ;; Initial File Name = ;; Use Encryption for Data = 0 ;; Replication server name connect option = ;; Tag尽可能使用列整理= 0
您只需查看以下内容:
集成安全性= -1 =可信连接
集成安全性= 0 =不可信连接
希望这可以帮助别人,因为我浪费了几个小时的时间。