2

我有一些 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”和类型“布尔”定义运算符“=”。

我找不到如何在 vb.net 中为 IConnectionProperty 创建构造。我找不到任何来自 Crystal 的文件来解释它。我正在使用 Crystal Reports XI - 开发人员

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 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 with column collat​​ion可能时=0

您只需查找以下内容:

集成安全 =-1 = 可信连接

集成安全 = 0 = 不受信任的连接

希望这对其他人有所帮助,因为我浪费了几个小时寻找。

于 2010-03-28T13:41:05.100 回答