Pripojenie na databázu Firebird

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
ambruslaco
Člen | 7
+
0
-

Dobrý deň!

Chcel by som sa opýtať, ako sa pomocou Nette 2.0 pripojím na databázu Firebird. Aký reťazec mám použiť v súbore config.neon? Pri Mysql je to

arguments: ['mysql:host=localhost;dbname=test', 'user', 'password']

V zložke Nette/Database/Drives som nenašiel driver pre Firebird – musím ho vytvoriť sám, alebo sa dá použiť niektorý existujúci?

Taktiež by som sa potreboval pripojiť na databázu na vzdialenom serveri (nie localhost). Je to možné, ak zadám namiesto kľúčového slova localhost ip adresu s portom?

Za odpoveď ďakujem!

Editoval ambruslaco (20. 9. 2011 15:31)

smasty
Člen | 90
+
0
-

Budeš potrebovať v prvom rade experimentálnu extension do PHP pre podporu Firebird v PDO, keďže Nette\Database pracuje práve nad PDO.

Samozrejme, ak namiesto localhost zadáš IP adresu serveru, bude to fungovať.

Editoval smasty (20. 9. 2011 15:54)

romansklenar
Člen | 655
+
0
-

Používám Firebird s Doctrine 2 (taky jsem si ho musel napsat…).

Při použití PDO se dají použít tyhle tvary connection stringu (DSN):

firebird:dbname=C:\db\banco.gdb;host=localhost
firebird:dbname=localhost:test.fdb
firebird:dbname=localhost:C:\\path\\to\\database\\MyDatabase.FDB

Při použití knihovny ibase se to neřeší a v configu mám něco takového:

	database:
		dbname: %dbDir%/production.database.fdb
		user: USERNAME
		password: xxxxxx
		host: localhost
		driverClass: Doctrine\DBAL\Driver\Firebird\FirebirdDriver
		port: 3050

Stačí to pak získat přes DI nebo Nette\Environment, přetypovat na pole a hodit to továrně na EntityManager.