AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird Characterset ISO8859_1 is not defined / installed
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird Characterset ISO8859_1 is not defined / installed

Ein Thema von Perlsau · begonnen am 12. Jun 2012 · letzter Beitrag vom 13. Jun 2012
 
Perlsau
(Gast)

n/a Beiträge
 
#1

Firebird Characterset ISO8859_1 is not defined / installed

  Alt 12. Jun 2012, 12:35
Datenbank: Firebird • Version: 2.51 • Zugriff über: FibPlus 6.9.6 Release for 2009
Hallo Entwicklergemeinde,

seit Tagen knoble ich an einem Problem herum, für das ich keine Lösung finde. Ich habe eine Datenbank-Anwendung mit Firebird embedded gebastelt, soll als Stickware funktionieren. Doch die beiden Beta-Tester, die sich erbarmt haben, meine Kreation zu testen, bekommen sie nicht zum Laufen, obwohl sie bei mir als Embedded wie auch mit installiertem Server einwandfrei läuft.
Der erste Tester verwendet Windows 7 Ultimate und erhält die Meldung:
Code:
Fehler beim Verbinden mit der Datenbank (das ist mein ShowMessage-Text) ... Connection Error ... Characterset ISO8859_1 is not defined
Der zweite Tester arbeitet mit Windows Server 2008 R2 und bei ihm kommt:
Code:
Fehler beim Verbinden mit den Datasets (das ist mein ShowMessage-Text) ... DatMod.Dset_Kunde.SelectQuery: undefined name. Characterset ISO8859_1 is not installed
In der SelectQuery steht z.B.
Code:
SELECT * FROM KUNDE
Meine Verbindungsprocedure sieht so aus:
Delphi-Quellcode:
FUNCTION TDatMod.VerbindenDatenbank(Modus : Byte): Boolean;
BEGIN
     Result := FALSE;
     IF Modus > 2 THEN EXIT;

     FibBase.SQLDialect := 3;
     FibBase.ConnectParams.Password := 'kl45ug13';
     FibBase.ConnectParams.UserName := 'PNS7RD19';
     FibBase.ConnectParams.CharSet := '';

     IF NOT FileExists(Pfad + Datenbank) THEN
        ShowMessage('Datei "' + Pfad + Datenbank + '" nicht gefunden ...');
     IF NOT FileExists(Pfad + 'firebird.msg') THEN
        ShowMessage('Datei "' + Pfad + 'firebird.msg" nicht gefunden ...');
     IF NOT FileExists(Pfad + 'fbclient.dll') THEN
        ShowMessage('Datei "' + Pfad + 'fbclient.dll" nicht gefunden ...');

     CASE Modus OF

     0 : BEGIN // Embedded
              FibBase.AliasName := '';
              FibBase.DBName := Pfad + Datenbank;
              FibBase.LibraryName := Pfad + 'fbclient.dll';

         END;
     1 : BEGIN // Lokaler Datenbankserver
              FibBase.AliasName := 'PCODE';
              FibBase.DBName := 'E:\Datenbanken\' + Datenbank;
              FibBase.LibraryName := 'D:\Programme\Database\Firebird_2_5\bin\fbclient.dll';
         END;
     2 : BEGIN // Remote Datenbankserver
              EXIT;
         END;
     END;

     TRY
        FibBase.Connected := TRUE;
        Result := TRUE;

     EXCEPT
        ON e:exception DO
        BEGIN
             ShowMessage('Fehler beim Verbinden mit der Datenbank: ' + e.Message);
             Result := FALSE;
             EXIT;
        END;
     END;
END;
und
Delphi-Quellcode:
{*****************************************************************************************************************************************
*** VERBINDEN: DATASETS                                                                                                              ***
*****************************************************************************************************************************************}

FUNCTION TDatMod.VerbindenDatasets : Boolean;
BEGIN
     Result := FALSE;
     IF NOT FibBase.Connected THEN EXIT;

     TRY
        Trans_Default.Active := TRUE;
        Trans_Update.Active := TRUE;

        Dset_Benutzer.Active := TRUE;
        Dset_Kunde.Active := TRUE;
        ...

        Result := TRUE;
     Except
        ON e:exception DO
        BEGIN
             ShowMessage('Fehler beim Verbinden mit den Datasets: ' + e.Message);
             Result := FALSE;
             EXIT;
        END;
     END;

     VerbindenDataSources;
END;
Aufgerufen wird das in FormActivate der Hauptform:
Delphi-Quellcode:
{*****************************************************************************************************************************************
*** ON ACTIVATE                                                                                                                      ***
*** 0 Embedded = Datenbank im Programm-Ordner                                                                                        ***
*** 1 Lokal    = Datenbank über Firebird-Server auf demselben Rechner                                                                ***
*** 2 Remote  = Datenbank über Firebird-Server auf anderem Rechner im Netzwerk oder im Internet                                      ***
*****************************************************************************************************************************************}

procedure TFormMain.FormActivate(Sender: TObject);
begin
     DatMod.Pfad := ExtractFilePath(ParamStr(0));

     Version := 0;

     // Mit Datenbank verbinden
     IF NOT DatMod.VerbindenDatenbank(Version) THEN
     BEGIN
          CLOSE;
          EXIT;
     END;

     // Mit Datasets und Transactions verbinden
     IF NOT DatMod.VerbindenDatasets THEN
     BEGIN
          CLOSE;
          EXIT;
     END;
Die Datenbank hat als Default-Zeichensatz ISO8859_1, die Zeichensätze der VARCHAR-Spalten stehen ebenfalls auf ISO8859_1, Collation ist DE-DE, bei den Text-Blobfeldern ebenfalls ISO8859_1.

Irgend etwas läuft da gewaltig schief ... Ist doch nicht die erste Firebird-Embedded, die ich verwende und weitergebe. Was ist da nur los?

P.S.: Das ganze Projekt hat knapp 175.000 Zeilen und ist daher zu groß, um es hier komplett zu posten. Wäre auch nicht sinnvoll ...
  Mit Zitat antworten Zitat
 


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 23:41 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