2012-02-08 55 views
2

我有一个“Connection.vb”,其中我的所有连接字符串存储和整个程序使用。如何在vb.net中使用OLE DB更改Crystal Reports连接字符串?

我是新来的Crystal Reports ..我想改变使用MS SQL 2008基于连接字符串我做...即时的连接字符串.. SQL服务器本机客户端10.0 OLE DB提供程序..

这里是我的连接字符串。 “Provider = SQLNCLI10; Server = .... \ SQLEXPRESS; Database = Blah; Trusted_Connection = yes”

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

在此先感谢..

+0

你只是问你如何将连接字符串传递给VB中的Crystal Reports? – 2012-02-08 17:01:19

回答

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 
相关问题