Oznámení
DibiMsSqlReflector bude? dibi1.3
před 9 lety
- dk1844
- Člen | 3
//Verze Dibi 1.3-dev 2010–11–09, php 5.3.1 vc6 xampp.
Ahoj, potreboval bych rozbehnout dibi na MSSQL (2008), dival jsem se na stable 1.2 a tam podpora moc nebyla, zkusil jsem 1.3 a tam uz je to o dost lepsi, jenom chybi DibiMsSqlReflector s metodami getTables, getColumns, getIndexes.
Budeto nekdo to v dohledne dobe nejak dodelavat? Rikal jsem si, ze bych to i zkusil, ale nevim, odkud si mam vytvorit funkcni DibiMsSqlDriver..?
zkousel jsem si to pro MySQL a pro jeho DibiMySqlDriver, abych to pak mohl zkusit na to MSSQL stejnym zpusobem, ale kod:
<?php
dibi::connect($options); //$options definovano, to funguje
$idibidriver = new DibiMySqlDriver();
$reflector = $idibidriver->getReflector();
$tables = $reflector->getTables();
print_r($tables);
?>
Dostavam:
Warning: mysql_errno() expects parameter 1 to be resource, null given in
C:\xampp\htdocs\dibi-try\dibi\drivers\mysql.php on line 164
Fatal error: Call to a member function fetch() on a non-object in C:\xampp\htdocs\dibi-try\dibi\drivers\mysql.reflector.php on line 48
Kde delam chybu?
Predem diky moc za odpovedi..
Dan
Editoval dk1844 (13. 11. 2010 0:30)
před 9 lety
- Milo
- Nette Core | 1119
Jestli si chceš upravit dibi sám, uprav si v MSSQL (nebo MSSQL2005)
driveru metodu getReflector()
aby vracela $this
, a do
třídy driveru si přidej metody, které definuje IDibiReflector.
Inspirace třeba v PostgreSQL driveru.
před 9 lety
- dk1844
- Člen | 3
Diky, uz jsem na to prisel, jak to mam udelat, abych mohl tu tridu rozsirovat.
Na tu metodu podle mysql jsem uz taky prisel, ted jen resim, jestli vlastne potrebuju ty metody getTables, getColumns a getIndexes ? K cemu to je? Pouzivam nad tim Nette, ale jeste ho moc neznam, tak nevim :)
a kdyby to nekoho zajimalo, tak ten testovaci skript jsem udelal takhle:
<?php
require "dibi/drivers/mssql.php";
$options = arrray ( ... );
$idibidriver = new DibiMsSqlDriver();
$idibidriver->connect($options);
$reflector = $idibidriver->getReflector();
$tables = $reflector->getTables();
print_r($tables);
?>
Nicmene diky za odpoved a i predem diky ostatnim za ostatni nazory na vec.
D.
Editoval dk1844 (13. 11. 2010 0:28)
před 9 lety
- Milo
- Nette Core | 1119
Spoustu odpovědí najdeš ve QuickStart.
Reflexe je dobrá k tomu, abys získal informace o struktuře databáze, ne datech. Pokud nevíš k čemu bys ji potřeboval, tak ji nepotřebuješ.
před 9 lety
- dk1844
- Člen | 3
OK, zamyslim se nad tim, diky moc za pomoc! :)