Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firebird / IBExpert: CHARACTER SET ISO8859_1 is not defined (https://www.delphipraxis.net/99133-firebird-ibexpert-character-set-iso8859_1-not-defined.html)

jo-freaky 7. Sep 2007 10:13

Datenbank: Firebird embedded • Version: 2.0 • Zugriff über: IBExpert / ZeosDBO

Firebird / IBExpert: CHARACTER SET ISO8859_1 is not defined
 
Hallo Delphi-Praxis Gemeinde,

etwas Hintergrund zu diesem Problem:
Ich wollte eine bestehende Firebird 1.5 (embedded) DB nach 2.0 "portieren", um z.B. die Case Insensitive Suche verwenden zu können, ohne mit Schatten-Tabellen arbeiten zu müssen.

Versuch der Problemlösung:
Download der FirebirdEmbedded 2.0.2
Zur Erstellung der Datenbanken benutze ich IBExpert (jetzt neueste Version), jedoch erhalte ich hier immer die gleiche Fehlermeldung:
Delphi-Quellcode:
bad Parameters on attach or create databes. CHARACTER SET ISO8859_1 is not defined
Bei der Suche zu diesem Problem stieß ich mehrmals auf den Hinweis das INTL Verzeichnis mit der fbint.dll müsse sich im App-Verzeichnis befinden.
Habe ich kopiert - leider ohne Erfolg.


Ich hoffe ihr könnt / wollt mir helfen.

Vielen Dank im Voraus!

Hansa 7. Sep 2007 10:18

Re: Firebird / IBExpert: CHARACTER SET ISO8859_1 is not defi
 
Wo ist die FBIntl.DLL ? Existiert überhaupt ein INTL Unterverzeichnis ? Nebenbei bemerkt : Embedded empfiehlt sich zum Einsatz in Demos, Einzelplätzen, aber doch nicht zum entwickeln eines eigenen Programmes !

DeddyH 7. Sep 2007 10:20

Re: Firebird / IBExpert: CHARACTER SET ISO8859_1 is not defi
 
Zitat:

Zitat von README_embedded.txt
3. USAGE

Just copy fbembed.dll, icudt30.dll, icuin30.dll and
icuuc30.dll into the directory with your application.
Then rename fbembed.dll to either fbclient.dll or
gds32.dll depending on your database connectivity software.
Then start your application and it will use the embedded
server as a client library and will be able to access
local datasases. You should also copy firebird.msg and
firebird.conf (if necessary) to the same directory.

If external libraries are required for your application,
then you should have them separately. Most probably, it
will be INTL support (fbintl.dll and fbintl.conf) or UDF
libraries. To be able to use them, you should place them
into the directory tree which emulates the Firebird server
one, i.e. has subdirectories like /intl or /udf:


c:\my_app\app.exe
c:\my_app\gds32.dll
c:\my_app\ib_util.dll
c:\my_app\icudt30.dll
c:\my_app\icuin30.dll
c:\my_app\icuuc30.dll
c:\my_app\firebird.conf
c:\my_app\firebird.msg
c:\my_app\intl\fbintl.dll
c:\my_app\intl\fbintl.conf
c:\my_app\udf\fbudf.dll

If you want to place the Firebird files (excluding the
renamed fbembed.dll) in another directory, you need to
modify your firebird.conf and set RootDirectory to the
Firebird directory tree. Example:

c:\my_app\app.exe
c:\my_app\gds32.dll
c:\my_app\ib_util.dll
c:\my_app\icudt30.dll
c:\my_app\icuin30.dll
c:\my_app\icuuc30.dll
c:\my_app\firebird.conf
d:\fb\firebird.msg
d:\fb\intl\fbintl.dll
c:\fb\intl\fbintl.conf
d:\fb\udf\fbudf.dll

firebird.conf:
RootDirectory = d:\fb


jo-freaky 7. Sep 2007 10:37

Re: Firebird / IBExpert: CHARACTER SET ISO8859_1 is not defi
 
Erstmal danke für die schnelle Reaktion!

@Hansa: die DB ist für einen Einzeplatz

@DeddyH: Das Readme-FIle habe ich auch gelesen - die Ordner befinden sich in dem entsprechenden Verzeichnis (somit also keine Anpassung der firebird.conf nötig)

Ich erhalte immer den selben Fehler - ich kapier das nicht! :shock:

TBx 7. Sep 2007 10:41

Re: Firebird / IBExpert: CHARACTER SET ISO8859_1 is not defi
 
Hast Du in der Datenbankregistrierung auch die dll Deines Embedded Sefvers referenziert?

Gruß

onlinekater

jo-freaky 7. Sep 2007 11:00

Re: Firebird / IBExpert: CHARACTER SET ISO8859_1 is not defi
 
Ich hatte wohl auf die falsche dll referenziert. :?:

Ich habe jetzt einmal alles in den IBExpert Ordner kopiert \INTL \UDF und die restlichen dll's.

Jetzt hat es geklappt, als ich nämlich außerhalb dieses Ordners die DB erstellen wollte, suchte er immernoch im Programmverzeichnis nach firebird.msg - selbstam.

Vielleicht lässt sich das ja auch irgendwo einstellen.

Vielen Dank für eure Mühe und Hilfe!!

TBx 7. Sep 2007 11:07

Re: Firebird / IBExpert: CHARACTER SET ISO8859_1 is not defi
 
Zitat:

Zitat von jo-freaky
Jetzt hat es geklappt, als ich nämlich außerhalb dieses Ordners die DB erstellen wollte, suchte er immernoch im Programmverzeichnis nach firebird.msg - selbstam.

Das ist garnicht seltsam.
Der Firebird embedded ist so konzipert, dass er in dem Verzeichnis des Programmes abgelegt werden muss (incl. der entsprechenden Unterverzeichnisse) in dem sich die Programmdatei befindet, die ihn aufruft.
Der IBExpert ist nunmal ein anderes Programm als Deine Eigenentwicklung und wird wohl auch in einem anderen Verzeichnis liegen.

Du solltest den Rat, den Hansa gegeben hat beherzigen und mit einer Installation des Firebird entwickeln und das Programm dann mit Embedded ausliefern.
Das hat schon den ungemeinen Vorteil, dass Du zur gleichen Zeit mit dem IBExpert in Deiner Datenbank arbeiten kannst, während Du in Deinem Programm arbeitest. Spätestens beim Debuggen des Programmes bekommst DU sonst schwierigkeiten, wenn Du gleichzeitig mit dem IBExpert in die Datenbank gucken willst. FBEmbedded läßt nämlich nur einen Zugriff zur Zeit auf die Datenbank zu.

Gruß

onlinekater

Hansa 7. Sep 2007 11:26

Re: Firebird / IBExpert: CHARACTER SET ISO8859_1 is not defi
 
Je nach Konstellation kann das sogar so weit gehen, dass nicht mal mehr F9 benutzt werden kann ! Die DB ist nämlich womöglich in der IDE offen und dann knallts schon bei der EXE. Von IBExpert ganz zu schweigen.
Zitat:

Zitat von jo-freaky
..in den IBExpert Ordner kopiert \INTL \UDF und die restlichen dll's.

Das wird so auch nicht gehen. INTL gehört bei INTL und UDF bei UDF. Gehe doch genau nach der Anleitung vor. Zum entwickeln/testen verwendet man sowieso immer die richtige Version ! Am besten gleich die DB auf Netzlaufwerk legen, um eventuellen Flaschenhälsen sofort auf die Spur zu kommen. Das gilt auch für Programme, die eigentlich für Einzelplatz konzipiert sind !


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:49 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