AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Prism DLL (fbembed) kann nicht geladen werden
Thema durchsuchen
Ansicht
Themen-Optionen

DLL (fbembed) kann nicht geladen werden

Ein Thema von webseal · begonnen am 20. Jan 2006 · letzter Beitrag vom 21. Jan 2006
Antwort Antwort
webseal

Registriert seit: 30. Dez 2005
Ort: Bretten
17 Beiträge
 
Delphi 2006 Professional
 
#1

DLL (fbembed) kann nicht geladen werden

  Alt 20. Jan 2006, 21:09
Datenbank: Firebird embedded • Version: 1.5 • Zugriff über: .net
Hallo,
ich möchte in einer Windows Forms Anwendung (Delphi 2006) eine Firebird embedded Datenbank verwenden. Auf einem Form habe ich eine FBConnection und einen FBDataAdapter plaziert. Wenn ich den DataAdapter Configurator starte, erhalte ich die Fehlermeldung "Die DLL (fbembed) kann nicht geladen werden". Die gleiche Fehlermeldung erhalte ich, wenn im Load-Ereignis des Forms die Zeile "FBConnection1.Open" ausgeführt wird.

connection string:
User=SYSDBA;Password=masterkey;Database=D:\Program mierung\Test\DBEXECSERV.fdb;DataSource=;Port=;Dial ect=3;Charset=NONE;Role=;Connection lifetime=15;Connection timeout=15;Pooling=True;Packet Size=8192;Server Type=1

Im Anwendungsverzeichnis D:\Programmierung\Test\ habe ich u.a. folgende Dateien liegen:
fbclient.dll
firebird.conf
firebird.msg
intl/fbintl.dll
udf/fbudf.dll

Kennt jemand das Problem oder hat einen Hinweis was ich falsch mache?

webseal
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: DLL (fbembed) kann nicht geladen werden

  Alt 20. Jan 2006, 21:14
Kopiere mal die fbclient.dll als fbembed.dll in das Verzeichnis der Anwendung. Es scheint als ob er nach einer Dll mit diesem Namen sucht.
Markus Kinzler
  Mit Zitat antworten Zitat
webseal

Registriert seit: 30. Dez 2005
Ort: Bretten
17 Beiträge
 
Delphi 2006 Professional
 
#3

Re: DLL (fbembed) kann nicht geladen werden

  Alt 20. Jan 2006, 21:55
Danke das war schonmal ein Treffer. Auch wenn ich nicht ganz verstehe, warum ich in diesem Fall keine fbclient.dll brauche, sondern eine fbembed.dll, obwohl die Doku von Firebird embedded etwas anderes sagt.

Nun erhalte ich aber einen weiteren Fehler:

Dynamic SQLError
SQL Error Code =-204
Table unknown
KONTAKT
at line 3 column 1

Der Fehler tritt in der Zeile "FBAdapter1.Fill ..." auf

Delphi-Quellcode:
   try
     DataSet1:=DataSet.Create;
     FBConnection1.Open;
     FBDataAdapter1.Fill(DataSet1, 'KontakteTable');
     DataGrid1.DataMember:='KontakteTable';
     FBConnection1.Close;
   except
      on ex: Exception do
         Messagebox.Show(ex.Message);
   end;
Die Tabelle Kontakt ist in der Datenbank vorhanden, und lässt sich z.B. mit IBOConsole öffnen. Es scheint aber so als sei die Datenbank nicht geöffnet.

webseal
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: DLL (fbembed) kann nicht geladen werden

  Alt 20. Jan 2006, 22:05
Zitat von webseal:
Danke das war schonmal ein Treffer. Auch wenn ich nicht ganz verstehe, warum ich in diesem Fall keine fbclient.dll brauche, sondern eine fbembed.dll, obwohl die Doku von Firebird embedded etwas anderes sagt.
Anscheinend entscheidet die Klasse FBConnection, jeh nachdem die Datenbank über Netz- oder loakem Protokoll angesprochen wird, welche dll geladen wird. Andere DB-Komponenten laden immer die gleiche Dll.
Zitat:
Nun erhalte ich aber einen weiteren Fehler:

Dynamic SQLError
SQL Error Code =-204
Table unknown
KONTAKT
at line 3 column 1

Der Fehler tritt in der Zeile "FBAdapter1.Fill ..." auf

Delphi-Quellcode:
   try
     DataSet1:=DataSet.Create;
     FBConnection1.Open;
     FBDataAdapter1.Fill(DataSet1, 'KontakteTable');
     DataGrid1.DataMember:='KontakteTable';
     FBConnection1.Close;
   except
      on ex: Exception do
         Messagebox.Show(ex.Message);
   end;
Die Tabelle Kontakt ist in der Datenbank vorhanden, und lässt sich z.B. mit IBOConsole öffnen. Es scheint aber so als sei die Datenbank nicht geöffnet.

webseal
Ich kenne mich in WinForms (noch?) nicht aus. Deshalb weiß ich auch nicht wie das mit dem DataAdapter funktioniert.
Heißt die Tabelle kontakte oder 'Kontakte'. Im zweiten Fall (Dialect 3) kann er die Tabelle nicht laden, da Dialect 3 case-sensitiv ist.
Wie sieht der Query aus?
Markus Kinzler
  Mit Zitat antworten Zitat
webseal

Registriert seit: 30. Dez 2005
Ort: Bretten
17 Beiträge
 
Delphi 2006 Professional
 
#5

Re: DLL (fbembed) kann nicht geladen werden

  Alt 20. Jan 2006, 22:23
Das SQL Statement im Adapter lautet:

SELECT ID, Nachname, Vorname FROM Kontakt

Eine Änderung von Kontakt in kontakt oder KONTAKT hat keine Auswirkung.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: DLL (fbembed) kann nicht geladen werden

  Alt 21. Jan 2006, 07:12
Versuchs mal mit SELECT ID, Nachname, Vorname FROM 'Kontakt'
Markus Kinzler
  Mit Zitat antworten Zitat
webseal

Registriert seit: 30. Dez 2005
Ort: Bretten
17 Beiträge
 
Delphi 2006 Professional
 
#7

Re: DLL (fbembed) kann nicht geladen werden

  Alt 21. Jan 2006, 11:32
Das war es. Du bist damit mein Helfer der Woche

Spaltennamen als auch Tabellenname müssen in Delphi in DOPPELTE Anführungszeichen gesetzt werden und schon geht's.

Danke !!!

webseal
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: DLL (fbembed) kann nicht geladen werden

  Alt 21. Jan 2006, 16:55
Zitat von webseal:
DSpaltennamen als auch Tabellenname müssen in Delphi in DOPPELTE Anführungszeichen gesetzt werden und schon geht's.
das Problem liegt wie erwähnt an der Möglichkeit bei Dialect-3 Datenbanken case-sensitive Tabellen- u.Spaltennamen zu vergeben. In diesem Fall muß bei Abfragen diese gequotet werden, so das der SQL.-Parser des DB-FBservers von diesem Feature Gebrauch macht.
Markus Kinzler
  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 06:22 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