1

Crystal レポートで動作する C# のコンソール アプリケーションがあります。次を使用してレポートをロードしています(1回のみ):

    static ReportDocument cryReportDocument = new ReportDocument();

    static void Main(string[] args)
    {            
        cryReportDocument.Load("reportLocation");
        ....
        //I am exporting about 20.000 .pdf files
        while(true)
        {
            ....
            //destianationPath is file location 
            ExportToPdf(destinationPath)
        }
    }

次に、次を使用してこのレポートを pdf ファイルにエクスポートしています。

    //Export pdf file
    static void ExportToPdf(string destianationPath)
    {                     
        cryReportDocument.SetDatabaseLogon("userName", "password", "Database", "");
        //Adding paremeters to report
        cryReportDocument.SetParameterValue(.., ..);    
        //This line consumes a lot of time now  
        cryReportDocument.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, destianationPath);
    }

以前 (約 2、3 日前) にこのプログラムを使用して、約 15.000 の .pdf ファイルをエクスポートしましたが、非常にうまく機能しました。約 1 秒未満で 1 つの .pdf ファイルをエクスポートしました。コードは何も変更していませんが、その行は 1 つの .pdf ファイルをエクスポートするのに約 5 秒かかります。この原因は何ですか?コンピューターは同じです。私は何も変更していません。しかし、それは正しく機能していません。誰でも助けることができますか?

4

1 に答える 1

1

遅いのはデータベースでしょうか?(アディルのリクエストによる)


追加情報 (気にしないでください):

ExportToDisk メソッドにより、crystal は実際にデータベース クエリを実行します。この場合の最適なテストは、クエリを直接実行して、所要時間を確認することです。必要に応じて調整します。

于 2012-09-27T00:53:13.127 に答える