Oznámení
Pripojeni na MS SQL 2008 Express
před 10 lety
- shew
- Člen | 7
Zdravim,
mam problem se spojenim na MSSQL2008 Express
Pokud pouziji nastaveni, ktere funguje bezproblemove s MSSQL2005, nedojde ke
spojeni.
( DibiDriverException, Can't connect to DB )
$options = array(
'driver' => 'mssql',
'host' => '192.192.192.123',
'username' => 'sa',
'password' => 'sa',
'database' => 'TABLE2008',
);
Nenapada nekoho duvod proc to nefunguje tak jak ma? Mozna ze to bude nejaka drobnost, ale ja ji ted bohuzel vubec nevidim :( Ttreba by to slo asi resit spojeni pomoci odbc, ale to mi neprijde jako prilis stastne reseni problemu.
Predem dekuji za pripadnou pomoc
PHP 5.2.6
Microsoft-IIS/7.0
dibi 1.2 (revision 3b2ca19 released on 2009–09–18)
Editoval shew (27. 11. 2009 11:04)
před 10 lety
- vlki
- Člen | 218
Nemám zkušenosti s připojováním k MSSQL2008, ale není potřeba více specifikovat název serveru?
před 10 lety
- shew
- Člen | 7
Zkousel jsem i nasledujici nastaveni, ale vysledek je stale stejny :(
$options = array(
'driver' => 'mssql',
'host' => 'localhost\SQLEXPRESS',
'username' => 'sa',
'password' => 'sa',
'database' => 'TABLE2008',
);
před 10 lety
- slapo
- Člen | 23
Skúste do host zadať localhost,1433 alebo 192.192.192.123,1433. Za
čiarkou je obvyklý port, na ktorom SQL Server počúva. Fungovať to,
pravdepodobne, bude len s mssql driverom, ktorý používa mssql_connect, nie
s novším mssql2005, ktorý používa sqlsrv.
Ak je vo výnimke detailnejší popis chyby, bolo by dobré priložiť ho.
před 10 lety
- shew
- Člen | 7
Zkousel jsem s carkou, dvouteckou
$options = array(
'driver' => 'mssql',
'host' => 'localhost\SQLEXPRESS',
'username' => 'sa',
'password' => 'sa',
'database' => 'TABLE2008',
);
NEBO
$options = array(
'driver' => 'mssql',
'host' => 'localhost,1433',
'username' => 'sa',
'password' => 'sa',
'database' => 'TABLE2008',
);
nebo
$options = array(
'driver' => 'mssql',
'host' => 'localhost:1433',
'username' => 'sa',
'password' => 'sa',
'database' => 'TABLE2008',
);
a tak ruzne, ale porad mi to hlasi stale stejnou hlasku, pritom spojeni na mssql2005 je ok.
Fatal error: Uncaught exception 'DibiDriverException' with message 'Can't connect to DB.' in C:\cesta\mssql.php:75
Stack trace:
#0 C:\cesta\dibi\libs\DibiConnection.php(139): DibiMsSqlDriver->connect(Array)
#1 C:\cesta\dibi\libs\DibiConnection.php(111): DibiConnection->connect()
#2 C:\cesta\test.php(18): DibiConnection->__construct(Array)
#3 {main} thrown in C:\cesta\dibi\drivers\mssql.php on line 75
Pouzivam beznou knihovnu pro mssql ktera byla prilozena u PHP v5.2.6.
PHP 5.2.6 Microsoft-IIS/7.0 dibi 1.2 (revision 3b2ca19 released on
2009–09–18)
MSSQL Support enabled
Active Persistent Links 0
Active Links 0
Library version 7.0
Opravdu s tim nema nekdo nejake prime zkusenosti?
před 9 lety
- jan.rok
- Člen | 1
Narazil jsem na stejný problém – to co fungovalo na SQL 2005 tak na
2008 nefunguje. Má někdo řešení?
Dík.
před 9 lety
- kuncajs
- Člen | 11
Řešil jsem stejné – stačí se podívat jak s daty pracuje dibi
v driveru mssql2005 a jaké parametry má sqlsrv_connect.
Vyřešeno následovně:
<?php
$options = array ("driver" => $values['driver'], "host" => $values['host'],
"options" => array(
"UID" => $values['username'],
"PWD" => $values['password'],
"Database" => $values['database']
));
?>
Samozřejmě nahraďte údaje z pole na konkrétní hodnoty nebo jinak načítejte ;).
DOTAZ NA TVŮRCE:
Nebylo by lepší, aby si tohle převáděl driver sám uvnitř? A bylo tak
volání pro všechny connecty stejné?
tedy
dibi::connect($values);
bylo vždy stejné (unifikované). Tedy $values[‚driver‘],
$values[‚host‘], $values[‚username‘], všechno stejně jako třeba
u MySQL a driver ten převod řešil sám? Takhle mě to zmátlo a nepřišel
bych na to, kdybych se nepodával přímo na connect v driveru MSSQL2005.
Editoval kuncajs (28. 3. 2010 23:06)
před 9 lety
- David Grudl
- Nette Core | 6806
Aliasy jsem přidal.