2012-04-02 6 views
0

私は、Crystal Reportsを広範囲に使用するかなりひどいコードを継承しました。私の問題は、レポートをローカルで正常に動作させることができるということですが、運用サーバーに移動するとクラッシュします。Crystal Reportsでデータソースの場所を強制するにはどうすればよいですか?

ビジュアルスタジオの[Set DataSource Location]ウィザードで接続情報を変更すると、接続をテストして自然に失敗するため、プロダクションサーバーの接続情報に変更することはできません。失敗すると、古い「動作中の」接続情報に戻ります。

私は知っているが、リモートで接続することはできません。私は単にサーバーに展開するときの接続情報を変更しようとしています。確かに、この情報をレポートに強制する方法があります。

ご協力いただければ幸いです。私は抜け出すために髪が足りなくなっています。私はそれが簡単にだけ使用することを見つけるのに

+0

言語とdbmsにタグを付ける/言及することを検討する –

答えて

0

あなたはConnectionInfoオブジェクトを作成し、ApplyLogOnInfo

を使用して、レポート上の各テーブルに適用することができますがここでは一般的にMSDN article on the ConnectionInfo Class

private void SetConnectionInfo (string table, string server, string database, string user, string password) 
{ 
    TableLogOnInfo logOnInfo = new TableLogOnInfo(); 
    logOnInfo = Report.Database.Tables[table].LogOnInfo; 
    ConnectionInfo connectionInfo = new ConnectionInfo(); 
    connectionInfo = logOnInfo.ConnectionInfo; 

    connectionInfo.DatabaseName = database; 
    connectionInfo.ServerName = server; 
    connectionInfo.Password = password; 
    connectionInfo.UserID = user; 
    Report.Database.Tables [table].ApplyLogOnInfo(logOnInfo); 
} 

からのサンプルですORACLEのODBCまたはTNSエントリ名を使用し、コードを完全に回避するすべての環境で名前を同じにします。

関連する問題