MSSQL connection could not find driver
- wb2009
- Člen | 125
Zdravím,
mám problém s připojením na MSSQL Server, dle internetu jsem si stáhl php_pdo_mssql.dll, které jsem pak samozřejmě přidal do php.ini, nevím co by mi ještě mohlo pomoci, abych se připojil. Nicméně Nette stále hlasí:
PDOException
could not find driver
Má někdo zkušenosti s připojením se na MSSQL SERVER? Budu vděčný za jakoukoliv radu.
Děkuji.
- AT
- Člen | 5
Načetl se ti modul správně? Když vypíšeš přes nastavení přes phpinfo(); máš tam položku pdo_sqlsrv?
Ještě můžeš mít špatný zápis ke spojení k DB
funkční je:
<?php
$con = new PDO ("sqlsrv:Server=$hostname;Database=$dbname", $username, $pw);
?>
Jinak pozor Nette\Database nemá dodělanou podporu pro MSSQL, jen ať nejsi překvapen jako já kdysi při prvním dotazu na DB, když Nette vyhodilo vyjimku NotImplemented.
- enumag
- Člen | 2118
Trochu to upřesním, MSSQL driver pro Nette\Database nemá implementované čtení cizích klíčů takže nefunguje DiscoveredReflection, je nutné použít ConventionalReflection. Anebo můžeš implementovat co v tom driveru chybí a poslat pull request. ;-)
Editoval enumag (15. 3. 2013 20:59)
- wb2009
- Člen | 125
Zdravím, omluvám se, byl jsem dnes mimo PC,
takže postupně, zjistil jsem, že MSSQL je již zastaralé a používá se SQLSRV, když jsem se pokusil připojit klasicky přes sqlsrv, dle oficiálních PHP stránek, tak jsem se připojil a mohl provádět dotazy. Nicméně v nette se připojit prostě přes sqlsrv zatím nemohu…
to AT:
v phpinfo mám pdo_sqlsrv enabled, pokud použiji, tvůj kód, žádné chyby
mi to nehlásí, zřejmě je funkční a k db se připojím…
EDIT:
Teď jsem našel na internetu, že by můj problém mohl vyřešit PDO driver z magické knihovny DIBI, je čas asi na změnu a to přejít z Nette Database → DiBi?
EDIT2:
Bylo by fajn, kdyby Nette database mělo tenle driver jako dibi: https://api.dibiphp.com/…oDriver.html???
Editoval wb2009 (16. 3. 2013 19:35)
- enumag
- Člen | 2118
Drivery v Nette\Database jsou na něco jiného než v případě dibi. Dibi dokáže fungovat s různými rozšířeními pro PHP, NDB pracuje výhradně přes PDO. Drivery pro NDB řeší např. různé formáty datových typů jako date nebo bool a zjišťování tabulek a cizích klíčů. Dibi žádné tabulky ani cizí klíče zjišťovat nepotřebuje.