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

时间:2012-02-08 14:35:02

标签: vb.net crystal-reports connection oledb

我有一个“Connection.vb”,其中我的所有连接字符串都由整个程序存储和使用。

我是Crystal Reports的新手..我想根据我制作的连接字符串更改其连接字符串...即时通讯使用MS SQL 2008 .. SQL Server Native Client 10.0 OLE DB提供程序..

这是我的连接字符串。 “提供者= SQLNCLI10;服务器= .... \ SQLEXPRESS;数据库=布拉赫; Trusted_Connection =是”

我试图谷歌...但他们使用不同的语言,不同的数据库和复杂的例子......

提前感谢..

1 个答案:

答案 0 :(得分:0)

我在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