我有一些水晶报表连接到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”和类型“布尔”中定义。

我找不到如何为IConnectionProperty在vb.net的构造。我无法找到水晶解释它的任何文件。 我使用Crystal Reports XI - 开发

有帮助吗?

解决方案

我想我找到了答案。通过使用属性ConnectBufferString

像这样:

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

这会给你这样的

字符串

提供商= SQLOLEDB ;;数据源= MYPC \ SQLEXPRESS ;;初始目录= sample_db ;;用户ID = ;;密码= ;;集成安全= -1 ;;使用DSN默认属性= 0 ;;区域设置标识符= 1033 ;;连接超时= 15 ;;一般超时= 0 ;; OLE DB服务= -5 ;;当前语言= ;;初始文件名= ;;使用加密数据= 0 ;;复制服务器名称连接选项= ;;标签用柱归类时可能= 0

您只要看看以下内容:

集成安全= -1 =信任的连接

集成安全性= 0 =不可信连接

希望这可以帮助其他人,因为我浪费了几个小时的寻找。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top