2012-02-08 5 views
2

私はすべての私の接続文字列が格納され、プログラム全体で使用される "Connection.vb"を持っています。vb.netのOLE DBを使用してCrystal Reportsの接続文字列を変更するにはどうすればよいですか?

私はCrystal Reportsの新機能です。接続文字列に基づいて接続文字列を変更したいのですが... MS SQL 2008を使用しています。SQL Serverネイティブクライアント10.0 OLE DBプロバイダ..

ここは私の接続文字列です。 "プロバイダ= SQLNCLI10;サーバー= .... \ SQLEXPRESS;データベース=何とか; Trusted_Connection = yes" を

私はそれをグーグルしてみました..しかし、彼らは異なる言語、異なるデータベース、および複雑な例を使用しています...

事前のおかげで..

+0

VBからCrystal Reportsに接続文字列を渡す方法を尋ねるだけですか? –

答えて

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 
関連する問題