2012-02-08 58 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 
相關問題