tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

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.