+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Langsamer OracleConnectionDataProvider


(Guest) #1

Hallo zusammen,
ich bin ganz neu im Umgang mit List&Label und habe noch so meine Probleme mit einigen Sachen.
So z.B. mit folgender Sachlage:
Wir benutzen ein Oracle-Datenbank mit etwa 200 verschiedenen Tabellen in unserem Projekt. Um diese mit LL nutzen zu können, verwende ich den OracleConnectionDataProvider in einem Webprojekt:

ListLabel LL = new ListLabel();
            DatabaseType dbType = DatabaseType.Oracle;
            DbConnectionDataProvider prov = ConnectionProvider.GetReportConnectionProvider(
                dbType,
                connectionString);
            LL.DataSource = prov;
            string tempDir = Path.Combine(reportDirectory, "temp");
            if (!Directory.Exists(tempDir))
            {
                Directory.CreateDirectory(tempDir);
            }
            string tempFileName = sessionId + "_" + Path.GetFileNameWithoutExtension(rf.ReportFileName) + "_" + DateTime.Now.Ticks + ".pdf";
            // Ziel und Pfad (hier: PDF) und Projektdatei angeben 
            ExportConfiguration exportConfig = new ExportConfiguration(
                LlExportTarget.Pdf,
                Path.Combine(tempDir, tempFileName),
                Path.Combine(reportDirectory, rf.ReportFileName));
            // Ergebnis anzeigen 
            exportConfig.ShowResult = true;

            // Export starten 
            LL.Export(exportConfig);
            
            LL.Dispose();
            return tempFileName;

Dazu habe ich mir einen wirklich einfachen Report mit dem Designer erstellt, der eigentlich nur ein paar Felder einer Tabelle ausgibt.
Wenn aber nun die Methode LL.Export(exportConfig) aufgerufen wird, so dauert es ca. 10min bis die komplette DB eingelsen wurde (so vermute ich mal). Das kann natürlich nicht das Ziel sein. Gibt es eine Möglichkeit diese Einlesezeit zu verkürzen oder sogar ganz zu weg zu bekommen?

Für Hilfe wäre ich hier echt dankbar.

Beste Grüße

FF


(Guest) #2

Hallo,
etwas weiter bin ich nun gekommen. Ich kann die filtern, welchem Nutzer die Tabellen in der DB zugeordnet sind…laut Doku. Also habe ich im Konstruktor für den OracleConnectionDataProvider den Parameter tableOwners auf den Nutzer gesetzt, dessen Tabellen ich verwenden möchte. Allerdings bekomme ich daraufhin eine LL_NoData_Exception mit der Meldung “The given DataProvider contains no data. At least one table is necessary.”. Da der nutzer definitiv Tabellen hat, verstehe ich das Problem noch nicht. Vielleicht kann mir ja dazu jemand helfen…