AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Fast Report 4: Datenbank nicht zugewiesen
Thema durchsuchen
Ansicht
Themen-Optionen

Fast Report 4: Datenbank nicht zugewiesen

Ein Thema von ioster · begonnen am 18. Nov 2022 · letzter Beitrag vom 19. Nov 2022
Antwort Antwort
ioster

Registriert seit: 15. Aug 2008
84 Beiträge
 
Delphi 10.3 Rio
 
#1

Fast Report 4: Datenbank nicht zugewiesen

  Alt 18. Nov 2022, 17:18
Hallo,

ich bin dabei ein altes Projekt zu überarbeiten, das in Delphi 7 geschrieben wurde und nun von Interbase auf MS SQL Server umgestellt wird.

Mir macht nun die Druckroutineprobleme, die auf Fast Report 4 basiert. Ich arbeite seit jeder mit einem anderen Formulargenerator und komme nun über eine bestimmte Klippe nicht hinweg.

Der frxReport wird mit der Methode PrepareReport vor dem Drucken initialisiert. Diese Routine verursacht die Meldung

"The following error(s) have occured:
Datenbank nicht zugewiesen."

Im Debugger wird als als EIBClientError ausgewiesen, was mich stutzig macht, weil ich nicht mit Interbase arbeiten möchte. Für den Zugriff auf den SQL-Server habe ich SDAC-Komponenten (Version 6.9.17 für Delphi 7) nachinstalliert und kann auf die Daten damit wunderbar zugreifen.

Kann mir jemand kurz erklären, ob die frxReport-Komponente für sich eine Zuweisung der Datenbank benötigt, oder, ob der Fehler von einem Dataset ausgelöst wird, das irgendwo in einer untergeordneten Ebene versenkt ist.

Viele Grüße
Ingo
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
472 Beiträge
 
#2

AW: Fast Report 4: Datenbank nicht zugewiesen

  Alt 19. Nov 2022, 01:07
Kann mir jemand kurz erklären, ob die frxReport-Komponente für sich eine Zuweisung der Datenbank benötigt, oder, ob der Fehler von einem Dataset ausgelöst wird, das irgendwo in einer untergeordneten Ebene versenkt ist.
Der Fehler kommt von einer IBX Komponente. Es gibt zwei Möglichkeiten der direkten Anbindung von IBX in FastReport. Für die Internal DataSets steht der Quelltext in der Unit frxIBXComponents. Findest du die Komponente TfrxIBXComponents im Quelltext, öffne den Berichtdesigner und suche in der Tab-Seite "Data" nach der Komponente TfrxIBXDatabase. Der andere Weg führt über die Komponente TfrxDBDataset und TIBTable/Query im Quelltext. Ersetze die IBX Komponente(n) durch ADO oder FireDAC.

Beide Wege würde ich nicht gehen. Hier habe ich beschrieben, wie einfach eine universelle Lösung aussehen kann.

Bis bald...
Thomas
  Mit Zitat antworten Zitat
ioster

Registriert seit: 15. Aug 2008
84 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Fast Report 4: Datenbank nicht zugewiesen

  Alt 19. Nov 2022, 14:17
Moin,

danke für den Tipp. Ich habe nun festgestellt, dass es in den Templates entsprechende frxIBXQueries gibt. Die habe ich gegen frxSDACQueries getauscht und komme schon sehr viel weiter.

Nun bekomme ich einen Konvertierungsfehler, der aus dem Code des Templates resultiert.

"The following error(s) have occured:
Überlauf bei der Konvertierung einer Variante vom Typ (String) in Typ (Integer)"

Leider bekomme ich keine Zeilennummer zurückgeliefert. Kann man den Code eines geladenen Templates debuggen?

Viele Grüße
Ingo
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#4

AW: Fast Report 4: Datenbank nicht zugewiesen

  Alt 19. Nov 2022, 14:28
Hallo,

kann man da evtl. teile auskommentieren um einzugrenzen wer der Verursacher ist?

Grüße
TurboMagic
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
472 Beiträge
 
#5

AW: Fast Report 4: Datenbank nicht zugewiesen

  Alt 19. Nov 2022, 20:36
Nun bekomme ich einen Konvertierungsfehler, der aus dem Code des Templates resultiert.
FastReport 4 habe ich nicht zur Hand. Ich würde eh empfehlen, auf eine aktuellere Version zu migrieren. FastReport ist diesbezüglich unkompliziert. Version 2022.2.10 ist mit Delphi 7 kompatibel.

Zitat:
Leider bekomme ich keine Zeilennummer zurückgeliefert. Kann man den Code eines geladenen Templates debuggen?
Jein, es kommt darauf an. Der Fehler ist ein VarOverflowError. Ich würde zuerst das Script anschauen und wie TurboMagic vorgeschlagen hat, alle Teile mal auskommentieren. Wenn das nichts hilft, schauen, ob eigene Funktionen registriert sind. Suche im Quelltext nach der Klasse TfsRTTIModule und den Funktionen AddMethod und CallMethod. Vielleicht kannst du, sollte sich der Fehler nicht finden lassen, eine Berichtdatei *.fr3 hier hochladen. Am besten vorher als Projekt mit Hilfe meiner FastReport Spielumgebung aufbereiten.

Bis bald...
Thomas

Geändert von mytbo (19. Nov 2022 um 20:44 Uhr) Grund: Verweis auf FastReport Spielumgebung hinzugefügt
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz