Hola!, te comento que me encontré mas o menos los mismos problemas y
finalmente me decidí por dejar ADOdb y escribir un DBO para informix.
Lo acabo de subir en los archivos del grupo. Para cosas simples
funciona muy bien. No te van a funcionar las relaciones, pero se
pueden hacer ABMs sin problemas.
Algunas consideraciones:
* Yo lo probe con cake 1.1.4.3104. Con la versión 1.2 no me funcionó.
* Yo estoy usando una versión 7 de informix, pero supongo que deberia
funcionar con una 9 o 10.
* No funcionana las relaciones.
* El limit esta simulado, ya que hasta donde se informix tiene un
FIRST pero nada parecido al LIMIT n,n de MySql.
Para usarlo hay que poner el archivo "dbo_informix.php" en cake/libs/
model/dbo/ y la configuración en la base seria mas o menos asi:
var $default = array( 'driver' => 'informix',
'connect' =>
'ifx_connect',
'host' => 'localhost',
'login' => 'userxxx',
'password' => 'passxxx',
'database' =>
'databasename',
'prefix' => '');
Bueno espero sirva para algo. Cualquier mejora o aporte es
bienvenido!
Saludos,
Diego.
On 7 sep, 09:49, superbully <[EMAIL PROTECTED]> wrote:
> On 6 sep, 17:40, AD7six <[EMAIL PROTECTED]> wrote:
>
> > On Sep 6, 5:34 pm, AD7six <[EMAIL PROTECTED]> wrote:
> > <snip>
> > Una cosa comprueba si el usuario del base de datos tiene derechos para
> > hacer SHOW TABLES (o la equivalente).
>
> > Saludos,
>
> > AD
>
> Hola !! El comando SHOW TABLES no me da nada. Me da un error es como
> si no existiera en informix. Si pongo lo que me has dicho tú en el
> metodo setSource:
> pr($db->listSources()); die;
> Veo un array con todas las tablas de la base de datos. Pero no veo
> las tablas del propietario 'informix', entonces he modificado la
> variable $metaTablesSQL del driver de informix de adodb.
> original:var $metaTablesSQL="select tabname,tabtype from systables
> where tabtype in ('T','V') and owner!='informix'"; //Don't get
> informix tables and pseudo-tables
>
> modificado:var $metaTablesSQL="select tabname,tabtype from systables
> where tabtype in ('T','V') "; //Don't get pseudo-tables
>
> Entonces cuando ejecuto el controlador de nuevo ya veo todas las
> tablas.
> Ahora comento esa linea en el metodo setSource y debería de funcionar
> todo, porque cake ya tiene acceso a todas las tablas del propieatario
> informix. Me creo la funcion index() en el controlador como sigue:
>
> function index()
> {
>
> $data=$this->Articulo->findAll();
> $this->set('data',$data);
> }
>
> Me creo la vista para ese controlado y cuando intento acceder obtengo
> el siguiente error:
> Fatal error: Call to a member function MetaType() on a non-object in /
> var/www/html/cake2/cake/libs/model/dbo/dbo_adodb.php on line 298
>
> Si añado al archivo de configuracion database.php la variable
> 'prefix' => 'informix.' para indicar al cake que utilizo el esquema de
> informix, obtengo el siguiente error:
> No Database table for model Articulo (expected "informix.articulos"),
> create it first.
>
> Lo que es lo mismo, que estoy igual !!!!! Ya no sé que hacer ni que
> probar !!!!
> MUCHAS GRACIAS POR ADELANTADO !!!! UN SALUDO A TODOS LOS MIEMBROS DEL
> GRUPO !!!!
--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos
de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a [email protected]
Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
Para obtener más opciones, visita este grupo en
http://groups.google.com/group/CakePHP-es?hl=es.
-~----------~----~----~----~------~----~------~--~---