2012-04-02 76 views
0

我已經繼承了一些非常糟糕的代碼,廣泛使用Crystal Reports。我的問題是,我可以在本地正常工作,但是當我轉移到生產服務器時,它會崩潰。如何在Crystal Reports中強制使用數據源位置?

當我在Visual Studio中的「設置數據源位置」嚮導中更改連接信息時,它不會讓我將其更改爲生產服務器的連接信息,因爲它會測試連接並自然失敗。一旦失敗,它將恢復到舊的「正常」連接信息。

我知道它無法遠程連接。我只是試圖改變我在服務器上部署它時的連接信息。當然有一種方法可以將這些信息加入到報告中。

任何幫助將非常感激。我頭髮快要拔出來了。

+0

考慮標記/提及語言和dbms – 2012-04-03 07:03:13

回答

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條目名稱,並在所有避免完全代碼的環境中保持相同的名稱。

相關問題