我有一个"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