Připojení k Oracle (Nette DB) nebo Doctrine2
- Joacim
- Člen | 229
Ahoj, už je to pár let co jsem Nette použil poprvé v kombinaci s Oracle
DB, kdy se nešlo připojit klasicky jako k MySql (config.neon), ale musel jsem
použít
$this->conn = oci_connect(self::ORA_USR, self::ORA_PWD, self::ORA_DB_CONNECTION)
přímo v kodu, a volat si postupně tuto knihovnu a její fce pro další
dotazy.
Nyní jsem se pokusil na verzi Nette 2.4 zase vytvořit DB connection string k Oracle, ale obdržel jsem stejný výsledek jako před pár lety. Je možné se vůbec „normálně“ připojit aniž bych musel něco „prznit“ ?
Nette\Database\ConnectionException
could not find driver
rád bych použil nastavení jen v neon.config nějako takto
database:
default:
dsn: "oci:host=127.0.0.1;dbname=test"
user: "root"
password: "password"
Je nějaká možnost pro Nette\Database nebo Doctrine2?
Děkuji
Editoval Joacim (5. 12. 2016 12:20)
- Joacim
- Člen | 229
CZechBoY napsal(a):
No ale oci_connect se nepřipojuje přes pdo. Znova.. máš nainstalované&povolené rozšíření
pdo_oci
?
Aha, oracle clienta tam nainstalovaného nemám, to jsem si naivně myslel,
že by to šlo jen přes oci8 knihovnu (moje blbost). Už to vidím, stačí
tedy jen Oracle Instant client a PDO_OCI doinstalovat přes
pecl install oci8
? a PDO_OCI ?
Editoval Joacim (5. 12. 2016 14:59)
- Joacim
- Člen | 229
Tak jsem už PDO_OCI rozběhnul, ale nejde mi z z Oracle DB vycucnout žádná data
$this->template->l_user = $this->database->query('select sysdate from dual')->dump();
// nebo
$this->template->l_user = $this->database->query('select * from persons');
// + foreach
a dostanu
PDOException #IM001
SQLSTATE[IM001]: Driver does not support this function: driver doesn't support meta data
- CZechBoY
- Člen | 3608
Já jsem použil Static
Conventions + všude v neimplementovaných metodách pro metadata v OciDriveru
vrátil []
.
- Joacim
- Člen | 229
CZechBoY napsal(a):
Já jsem použil Static Conventions + všude v neimplementovaných metodách pro metadata v OciDriveru vrátil
[]
.
Aha, a já jen naivně doufal, že jsem někde udělal pouze chybu. Tzn: v OciDriveru mám vracet Array a StaticConventions mi slouží k čemu ? najdu někde ukázku implementace, abych to nemusel celý den bouchat na koleni ?
- Joacim
- Člen | 229
CZechBoY napsal(a):
V konfiguraku normalne nastavis
conventions: static
a vlastni driver
options: driverClass: App\MyOciDriver
Mám si tedy dopsat všechny metody OciDriveru nebo jen stačí ty pro vypsání dat ? Dump, fetch, fetchAll Etc:.., chtěl jsem se zeptat zda máš nějaké potíže či omezení při používání PDO_OCI driveru, jelikož i když je to neohrabané, tak při použití oci8 jsem nikdy neměl žádný problém
Zatím jsem použil upravu dle mshot (kod –
3 odspodu)
Nette
PDO driver a Oracle Databaze
Editoval Joacim (14. 12. 2016 7:32)