如何在vb.net中使用OLE DB更改Crystal Reports连接字符串



我有一个"Connection.vb",其中存储了我的所有连接字符串,并由整个程序使用。

我是Crystal Reports的新手。。我想根据我创建的连接字符串更改它的连接字符串。。。im正在使用MS SQL 2008..SQL Server Native Client 10.0 OLE DB Provider。。

这是我的连接字符串。"提供程序=SQLNCLI10;服务器=….\SQLEXPRESS;数据库=Blah;Trusted_Connection=yes"

我试着在谷歌上搜索……但他们使用了不同的语言、不同的数据库和复杂的例子。。。

提前谢谢。。

我刚刚在VB中花了一些时间来解决这个确切的问题。我希望这能有所帮助。

将YourDataContext()替换为您的数据上下文。或者,您可以像往常一样从AppConfig获取连接字符串。我是从数据上下文中得到我的,因为我们正在迁移数据库并不断更改连接字符串。

   Private Sub SetCrystalReportsConnection(ByRef report As ReportDocument)
    Dim sqlConnInfo As SqlConnectionStringBuilder = New SqlConnectionStringBuilder(New YourDataContext().Connection.ConnectionString)
    For Each connection As InternalConnectionInfo In report.DataSourceConnections
        If sqlConnInfo.IntegratedSecurity Then
            connection.SetConnection(sqlConnInfo.DataSource, sqlConnInfo.InitialCatalog, True)
        Else
            connection.SetConnection(sqlConnInfo.DataSource, sqlConnInfo.InitialCatalog, sqlConnInfo.UserID, sqlConnInfo.Password)
            connection.IntegratedSecurity = False
        End If
    Next
End Sub

最新更新