[Interbase - Delphi error] Probleem met verbinden database

Pagina: 1
Acties:
  • 117 views sinds 30-01-2008
  • Reageer

  • Armageddon_2k
  • Registratie: September 2002
  • Laatst online: 30-04 15:11

Armageddon_2k

Trotse eigenaar: Yamaha R6

Topicstarter
Hey mede tweakerts,

Ik ben bezig met een Delphi projectje, ik probeer een delphi unit te koppelen aan een Interbase database. Nu is het me al gelukt via een form en een aatal SQL componenten die standaard in Delphi zitten. Maar nu probeer ik dit op te lossen in een Class.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
constructor TDatabase.Create;
begin
  DbConnect := TSQLConnection.Create(DummyCompo);
  DbConnect.ConnectionName := 'IBLocal';
  DbConnect.LoadParamsFromIniFile('\dbxconnections.ini');
  DbQuery := TSQLQuery.Create(DummyCompo);
end;

procedure TDatabase.GetSchaatsers;
begin
  DbQuery.SQLConnection := DbConnect;
  DbQuery.Close;
  DbQuery.SQL.Clear;

  DbQuery.SQL.Add('Select *');
  DbQuery.SQL.Add('From Schaatsers');
  DbQuery.Open;
end;


Maar nu krijg ik de volgende error:
"Missing DriverName Property"

Maar deze property zou hij binnen moeten krijgen via de eerder aangeroepen ini file..
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[IBLocal]
BlobSize=-1
CommitRetain=False
Database=schaatscase
ErrorResourceFile=
DriverName=Interbase
LocaleCode=0000
Password=masterkey
RoleName=RoleName
ServerCharSet=
SQLDialect=1
Interbase TransIsolation=ReadCommited
User_Name=sysdba
WaitOnLocks=True


Kan iemand mij hiermee helpen?
Alvast bedankt voor het reageren!

[ Voor 3% gewijzigd door Armageddon_2k op 25-05-2005 14:24 ]


  • Pino
  • Registratie: Oktober 2001
  • Laatst online: 15:16
Drivername en alias gaan niet samen, je gebruikt OF de een of de ander. Ik zie hier geen alias, dus ga je via drivername en db file. Ik zie echter nergens een verwijzing naar je dbfile?

ohja, ik zie schaatscase, maar geen extensie niks, en geen pad.

[ Voor 17% gewijzigd door Pino op 25-05-2005 14:27 ]

"If you don't know where you are going, any road will take you there"


  • Armageddon_2k
  • Registratie: September 2002
  • Laatst online: 30-04 15:11

Armageddon_2k

Trotse eigenaar: Yamaha R6

Topicstarter
THEF_Pino schreef op woensdag 25 mei 2005 @ 14:26:
Drivername en alias gaan niet samen, je gebruikt OF de een of de ander. Ik zie hier geen alias, dus ga je via drivername en db file. Ik zie echter nergens een verwijzing naar je dbfile?

ohja, ik zie schaatscase, maar geen extensie niks, en geen pad.
Sorry ik snap niet helemaal wat je bedoelt.
maar die ini file is een kopie van de orginele dbxconnections file
het enige wat ik daaraan heb aangepast is de database locatie
code:
1
2
3
4
5
6
[IBLocal]
BlobSize=-1
CommitRetain=False
Database="C:\Program Files\Borland\InterBase\bin\Schaatscase"
ErrorResourceFile=
DriverName=Interbase


ik heb nu mijn pad van mij database ook opgegeven, deze heeft geen file extentie trouwens?

Maar wat bedoel je precies met dat alias verhaal ik volg het niet helemaal :?

  • Pino
  • Registratie: Oktober 2001
  • Laatst online: 15:16
Armageddon_2k schreef op woensdag 25 mei 2005 @ 14:35:
<KNIP>
Maar wat bedoel je precies met dat alias verhaal ik volg het niet helemaal :?
Laat maar, ik kon aan je code niet zo snel zien HOE je verbinding maakte met je database, ik ging uit van BDE.

Ik mis volgens mij een 'libraryname' property, dbexpint.dll

[ Voor 11% gewijzigd door Pino op 25-05-2005 14:42 ]

"If you don't know where you are going, any road will take you there"


  • Armageddon_2k
  • Registratie: September 2002
  • Laatst online: 30-04 15:11

Armageddon_2k

Trotse eigenaar: Yamaha R6

Topicstarter
Ow sorry, maar ik weet namelijk ook niet wat ik precies moet vertellen zodat iemand mij kan helpen.
Het is trouwens via een TSQLConnect en een TSQLQuery

Maar de verbinding heeft dus gewerkt toen ik deze via de componenten opzette (dus die plaatjes op je form slepen om het zo maar even te noemen) Maar nu ik het wil implementeren in een Class wil het niet meer en krijg ik die error.
Bij een check krijg ik ook terug dat de parameters wel geladen zijn, maar hij blijft die fout geven :(
Ik mis volgens mij een 'libraryname' property, dbexpint.dll
Ik heb de ini file met property's rechtstreeks gekopieerd van de werkende ini file die er standaard bijzit.. dus zou er dan in de ini file nix moeten missen...

[ Voor 27% gewijzigd door Armageddon_2k op 25-05-2005 14:45 ]


  • Pino
  • Registratie: Oktober 2001
  • Laatst online: 15:16
ik denk dat je normaal gesproken als je in je propertyeditor 'Iblocal' kiest alles ingevuld krijgt, en dat je dat nu even zelf moet doen, dus je libraryname en je vendorlib

"If you don't know where you are going, any road will take you there"


  • Armageddon_2k
  • Registratie: September 2002
  • Laatst online: 30-04 15:11

Armageddon_2k

Trotse eigenaar: Yamaha R6

Topicstarter
Je bent een schat O+
Ik was gewoon zo stom om die properties allemaal niet in te vullen
/leermomentje :P
Danku wel

voor de mensen die er ook mee bezig zijn en dit topic lezen:
DbConnect.ConnectionName := 'IBLocal';
DbConnect.GetDriverFunc := 'getSQLDriverINTERBASE';
DbConnect.DriverName := 'Interbase';
DbConnect.VendorLib := 'GDS32.DLL';
DbConnect.LibraryName := 'dbexpint.dll';

eventjes invullen en dan komt het goed :)

  • Pino
  • Registratie: Oktober 2001
  • Laatst online: 15:16
Armageddon_2k schreef op woensdag 25 mei 2005 @ 14:51:
Je bent een schat O+
Ik was gewoon zo stom om die properties allemaal niet in te vullen
/leermomentje :P
Danku wel

voor de mensen die er ook mee bezig zijn en dit topic lezen:
DbConnect.ConnectionName := 'IBLocal';
DbConnect.GetDriverFunc := 'getSQLDriverINTERBASE';
DbConnect.DriverName := 'Interbase';
DbConnect.VendorLib := 'GDS32.DLL';
DbConnect.LibraryName := 'dbexpint.dll';

eventjes invullen en dan komt het goed :)
Ik bedacht net dat ik hetzelfde eens had gehad met Mysql libs, m.i. zijn de dbexpress comps slecht gedocumenteerd.

"If you don't know where you are going, any road will take you there"


  • Armageddon_2k
  • Registratie: September 2002
  • Laatst online: 30-04 15:11

Armageddon_2k

Trotse eigenaar: Yamaha R6

Topicstarter
Weet je toevallig ook hoe ik dan in de ini file bij het stukje "database"
mijn local host gebruik? ipv c:\

lol sorry ik was een beetje te vroeg met die vraag:
localhost:/Program Files\Borland\InterBase\bin\Schaatscase
werk gewoon, my bad

[ Voor 42% gewijzigd door Armageddon_2k op 25-05-2005 14:59 ]

Pagina: 1