Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Connection zu firebird will nicht (https://www.delphipraxis.net/150596-connection-zu-firebird-will-nicht.html)

idefix2 21. Apr 2010 15:15

Datenbank: Firedird • Version: 2 • Zugriff über: dbExpress

Connection zu firebird will nicht
 
Hallo,

ich habe auf meinem Rechner jetzt firebird installiert. Der Server läuft, mit isql habe ich probeweise eine Datenabnk und darin eine tabelle erstellt, das funktioniert. Jetzt habe ich mir auf ein Formular aus den dbExpress-Komponenten eine SQLConnection gezogen, und dort die Eigenschaften database, password und username gesetzt, database enthält den vollen Pfad und Namen der Datenbank, user und password entsprechen genau dem, was ich auch im ISQL eingegeben habe. Dei Client-DLL habe ich im Zuge der Installation ins Windows Systemverzeichnis kopiert.

Wenn ich jetzt im Formulardesigner connected = true setzen will, fragt er noch einmal nach dem Password und meldet dann "unavailable databse". Datenbankpfad, user und password habe ich schon mehrfach überprüft, die sind richtig.
So sieht meine Connection aus:

Delphi-Quellcode:
object SQLConnection1: TSQLConnection
    ConnectionName = 'IBConnection'
    DriverName = 'Interbase'
    GetDriverFunc = 'getSQLDriverINTERBASE'
    LibraryName = 'dbxint.dll'
    Params.Strings = (
      'DriverName=Interbase'
      'Database=d:\delphi\firebird\musikbox.fdb'
      'RoleName=RoleName'
      'Password=test'
      'BlobSize=-1'
      'Interbase TransIsolation=ReadCommited'
      'Trim Char=False')
    VendorLib = 'gds32.dll'
    Left = 344
    Top = 240
  end

mkinzler 21. Apr 2010 15:17

Re: Connection zu firebird will nicht
 
Wo läuft der Server (auf dem selben Rechner)?

idefix2 21. Apr 2010 15:21

Re: Connection zu firebird will nicht
 
ja, auf dem selben Rechner

RWarnecke 21. Apr 2010 15:23

Re: Connection zu firebird will nicht
 
Der Wert "Database" hat folgenden Syntax : <servername/server ip-adresse>:<pfad zur datenbank inkl. Datenbankname>

Beispiel für einen Server ==> 192.168.168.168:C:\Datenbanken\Firebird\Test.fdb
Beispiel für lokal ==> localhost:C:\Datenbanken\Firebird\Test.fdb

Bei dem Beispiel für lokal, kann statt localhost auch 127.0.0.1 stehen. Das gleiche für den Server, da sollte dann der DNS-Servername stehen.

idefix2 21. Apr 2010 15:34

Re: Connection zu firebird will nicht
 
Habe 'localhost:' vorangesetzt, Jetzt kommt eine andere Fehlermeldung:

Unable to complete request to host "localhost".
Failed to locate machine.
Undefined service gds_db/tcp..

khh 21. Apr 2010 15:54

Re: Connection zu firebird will nicht
 
Zitat:

Zitat von idefix2
Habe 'localhost:' vorangesetzt, Jetzt kommt eine andere Fehlermeldung:

Unable to complete request to host "localhost".
Failed to locate machine.
Undefined service gds_db/tcp..

Im Windows/system32/drivers/etc/ gibt es ein File SERVICES
da muss folgender Eintrag dazu:
"gds_db 3050/tcp"
Der bei den vorhandenen Einträgen gesetzte Kommentar ist optional


Gruss Kh

idefix2 21. Apr 2010 17:09

Re: Connection zu firebird will nicht
 
Irgendwie ist es zum Verzweifeln.

Nachdem ich jetzt auch diesen Eintrag gemacht habe (ich habe noch einmal gesucht, in der Firebird Installationsanleitung steht von der Notwendigkeit, diesen Eintrag zu erstellen, kein Wort, zumindest habe ich nichts derartiges gefunden), scheint endlich Kontakt zwischen meinem Programm und dem Datenbankserver stattzufinden, aber ich bekomme wieder eine Fehlermeldung:
connection rejected by remote interface.

Ich habe noch einen Datenbank-alias erstellt, unter dem kann ich mit isql die Datenbank problemlos öffnen:

SQL-Code:
C:\Program Files\Firebird\bin>isql
Use CONNECT or CREATE DATABASE to specify a database
SQL> connect musikbox user SYSDBA password test;
Database: musikbox, User: SYSDBA
SQL>
Meine Delphi-Datenbankverbindung im Klartext:
Delphi-Quellcode:
  object SQLConnection1: TSQLConnection
    ConnectionName = 'IBConnection'
    DriverName = 'Interbase'
    GetDriverFunc = 'getSQLDriverINTERBASE'
    LibraryName = 'dbxint.dll'
    Params.Strings = (
      'DriverName=Interbase'
      'Database=localhost:musikbox'
      'RoleName='
      'Password=test'
      'BlobSize=-1'
      'Interbase TransIsolation=ReadCommited'
      'Trim Char=False'
      'User_Name=SYSDBA')
    VendorLib = 'gds32.dll'
    Left = 344
    Top = 240
  end
Die Einstellungen entsprechen doch jetzt genau haargenau denen, die ich im isql eingebe,
aber es funktioniert nicht.

khh 21. Apr 2010 17:21

Re: Connection zu firebird will nicht
 
Zitat:

Zitat von idefix2
Irgendwie ist es zum Verzweifeln.

Nachdem ich jetzt auch diesen Eintrag gemacht habe (ich habe noch einmal gesucht, in der Firebird Installationsanleitung steht von der Notwendigkeit, diesen Eintrag zu erstellen, kein Wort, zumindest habe ich nichts derartiges gefunden), scheint endlich Kontakt zwischen meinem Programm und dem Datenbankserver stattzufinden, aber ich bekomme wieder eine Fehlermeldung:
connection rejected by remote interface.

Ich habe noch einen Datenbank-alias erstellt, unter dem kann ich mit isql die Datenbank problemlos öffnen:

SQL-Code:
C:\Program Files\Firebird\bin>isql
Use CONNECT or CREATE DATABASE to specify a database
SQL> connect musikbox user SYSDBA password test;
Database: musikbox, User: SYSDBA
SQL>
Meine Delphi-Datenbankverbindung im Klartext:
Delphi-Quellcode:
  object SQLConnection1: TSQLConnection
    ConnectionName = 'IBConnection'
    DriverName = 'Interbase'
    GetDriverFunc = 'getSQLDriverINTERBASE'
    LibraryName = 'dbxint.dll'
    Params.Strings = (
      'DriverName=Interbase'
      'Database=localhost:musikbox'
      'RoleName='
      'Password=test'
      'BlobSize=-1'
      'Interbase TransIsolation=ReadCommited'
      'Trim Char=False'
      'User_Name=SYSDBA')
    VendorLib = 'gds32.dll'
    Left = 344
    Top = 240
  end
Die Einstellungen entsprechen doch jetzt genau haargenau denen, die ich im isql eingebe,
aber es funktioniert nicht.

EDIT: ähm, bist dir sicher dass Interbase der richtige Treiber ist?

ich kenne zwar deine Zugriffskomponenten nicht,( hast nen bestimmten Grund diese zu verwenden?) aber warum nimmst nicht ZEOS?

damit funktionierts , zumindest bei mir, bisher bei allen Installationen fehlerfrei.

Chemiker 21. Apr 2010 17:44

Re: Connection zu firebird will nicht
 
Hallo idefix2,

Du benutzt DBExpress für Interbase, um eine Verbindung aufzubauen brauchst Du eine für Firebird.

Bis bald Chemiker

idefix2 21. Apr 2010 18:10

Re: Connection zu firebird will nicht
 
Verstehe. Ich habe mir eingebildet, gelesen zu haben, dass die DB-Express Komponenten Firebird können, und nachdem eine eigene Firebird Auswahl nicht verfügbar ist, habe ich gedacht, dass die Interbase Komponenten auch für Firebird funktionieren - war wohl nichts. Jetzt hab ich mir ZEOS heruntergeladen und werde mich mit der Installation von den ZEOS Komponenten spielen.

Warum muss alles sooo müüüühsam sein?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:01 Uhr.
Seite 1 von 4  1 23     Letzte »    

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