Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Anmerkung |
|---|
Auf dieser Seite werden Funktionen beschrieben, die nicht in Crystal Reports für Visual Studio, jedoch in einer der aktualisierten Versionen verfügbar sind. Weitere Informationen zu Crystal Reports für Visual Studio finden Sie unter Was ist Crystal Reports für Visual Studio? Weitere Informationen zu aktualisierten Versionen finden Sie unter Aktualisierungsoptionen. |
Objektmodell
In diesem Berichtbindungsszenario wird ReportClientDocument verwendet (siehe Berichtbindung mit ReportClientDocument-Objektmodell (RAS)).
Ort des Berichts
Der Bericht befindet sich in einem Dateiverzeichnis, für das dem unverwalteten RAS-Server (siehe Report Application Server (RAS)) eine Zugriffsberechtigung gewährt wurde.
Beschreibung
Bei diesem Berichtbindungsszenario wird direkt auf das ReportClientDocument-Objektmodell zugegriffen. Dabei wird ein Dateiverzeichnispfad als Objekt und die Ganzzahl 0 (optionaler Parameter in Visual Basic) an die Open()-Methode von ReportClientDocument übergeben. Ein Codebeispiel finden Sie im folgenden Abschnitt.
Pro
- Abwärtskompatibilität: Durchführbare Methode für die Interaktion mit Berichten im ReportClientDocument-Objektmodell unter Verwendung von RAS 9 und höher.
- Optimierte Leistung: Signifikanter Leistungsgewinn aufgrund der überlegenen Leistung der Report Engine im Report Application Server (RAS). Siehe Vergleichen von Architekturen zwischen Business Objects-Berichterstellungslösungen.
- Einfache Portabilität: Sämtlicher ursprünglicher Code zur Interaktion mit Berichten, die das ReportDocument-Objektmodell verwenden, wird beibehalten. Gleichzeitig kann über die ReportDocument.ReportClientDocument-Eigenschaft uneingeschränkt auf das zugrunde liegende ReportClientDocument-Objektmodell zugegriffen
AnmerkungDas ReportClientDocument-Objektmodell ermöglicht es Ihnen, die Berichtdefinitionsdatei programmgesteuert zu erstellen, zu bearbeiten und daran vorgenommene Änderungen zu speichern. Weitere Informationen hierzu finden Sie unter ReportClientDocumentReportClientDocument-Objektmodell (RAS) in "Architektur".
- Direkte Codierung: Ermöglicht den direkten Zugriff auf das ReportClientDocument-Objektmodell.
Contra
- Geringeres Leistungspotenzial: Die Aktualisierung auf einen unverwalteten RAS-Server bietet zwar eine erhebliche Leistungssteigerung bei der Berichtverarbeitung, liegt jedoch trotzdem unter dem Leistungspotenzial eines verwalteten RAS-Servers.
So laden Sie einen Bericht aus dem lokalen Dateiverzeichnis mit der Open-Methode von ReportClientDocument in einen RAS-Server
- Der unverwaltete RAS-Server, Version 9 oder höher, ist installiert und funktionsbereit.
Diese Prozedur funktioniert nur bei Projekten, die in Projekt-Setup erstellt wurden. Projekt-Setup enthält spezifische Namespaceverweise und Codekonfigurationen, die für diese Prozedur erforderlich sind. Die Prozedur kann ohne diese Konfiguration nicht ausgeführt werden. Führen Sie deshalb vor Beginn dieser Arbeitsschritte die Schritte unter Projekt-Setup aus.
Ein RAS-Server wird nur von Webprojekten unterstützt.
- Fügen Sie in der (im Projekt-Setup erstellten) ConfigureCrystalReports()-Methode eine Zeichenfolgendeklaration hinzu, die den Pfad zu einem lokalen Bericht enthält.
<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images\xkh1wxd8.alert_note(de-de,VS.90).gif" alt="Note" class="note" />Anmerkung</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>Dieser Pfad entspricht dem Standardverzeichnis zum Speichern der RAS-Berichte. Andere Berichtpfade können vom RAS-Server durch die Fehlermeldung "Zugriff verweigert" zurückgewiesen werden.</p></td>
</tr>
</tbody>
</table>
``` vb
Dim reportPath As String = "C:\Programme\Crystal Decisions\" _ & "Report Application Server 10\Reports\" _ & "World Sales Report.rpt"
```
``` csharp
string reportPath = "C:\\Programme\\Crystal Decisions" + "\\Report Application Server 10\\Reports" + "\\World Sales Report.rpt";
```
- Konvertieren Sie die reportPath-Zeichenfolge in eine Object-Variable.
<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images\xkh1wxd8.alert_note(de-de,VS.90).gif" alt="Note" class="note" />Anmerkung</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>Die Zeichenfolge muss für die Open()-Methode von ReportClientDocument als Objekt und nicht als Zeichenfolge angegeben werden.</p></td>
</tr>
</tbody>
</table>
``` vb
Dim reportPathAsObject As Object = CType(reportPath, Object)
```
``` csharp
object reportPathAsObject = (object)reportPath;
```
Deklarieren und instantiieren Sie ReportClientDocument.
Dim myReportClientDocument As ReportClientDocument = New ReportClientDocumentClass()ReportClientDocument reportClientDocument = new ReportClientDocumentClass();Übergeben Sie sowohl den Berichtpfad (als Objektvariable) als auch den Options-Parameter als Ganzzahl 0 (optional in Visual Basic) an die Open-Methode der ReportClientDocument-Instanz.
<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images\xkh1wxd8.alert_note(de-de,VS.90).gif" alt="Note" class="note" />Anmerkung</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>Dadurch wird der Bericht aus dem lokalen Dateiverzeichnis geöffnet und in den unverwalteten Report Application Server (RAS) geladen.</p></td>
</tr>
</tbody>
</table>
``` vb
myReportClientDocument.Open(reportPathAsObject, 0)
```
``` csharp
reportClientDocument.Open(ref reportPathAsObject, 0);
```
Binden Sie die ReportClientDocument-Instanz an das CrystalReportViewer-Steuerelement.
myCrystalReportViewer.ReportSource = myReportClientDocumentcrystalReportViewer.ReportSource = reportClientDocument;Um den Bericht anzeigen zu lassen, erstellen Sie Ihr Projekt und führen es aus.