ApplixWare debe ser configurado correctamente para que pueda realizarse con �l el acceso a los drivers ODBC de Postgres.
Habilitando el acceso a bases de datos con ApplixWare
Estas instrucciones son para la versi�n 4.4.1 de ApplixWare en Linux. V�ase el libro on-line Administraci�n de Sistemas Linux para informaci�n m�s detallada.
Debe modificar el fichero axnet.cnf para que elfodbc pueda encontrar la biblioteca compartida libodbc.so (el administrador de dispositivos ODBC). Esta biblioteca viene incluida con la distribuci�n de Applixware, pero el fichero axnet.cnf necesita modificarse para que apunte a la ubicaci�n correcta.
Como root, edite el fichero applixroot/applix/axdata/axnet.cnf.
Al final del fichero axnet.cnf, y busque la l�nea que comienza con
#libFor elfodbc /ax/... |
Cambie la l�nea para que se lea
libFor elfodbc applixroot/applix/axdata/axshlib/lib |
Cree el fichero.odbc.ini como se describi� anteriormente. Tambi�n puede querer a�adir el indicador
TextAsLongVarchar=0 |
Probando las conexiones ODBC de ApplixWare
Ejecute Applix Data
Seleccione la base de datos Postgres de su inter�s.
Seleccione Query->Choose Server.
Seleccione ODBC, y haga click en Browse. La base de datos que configur� en el fichero .odbc.ini deber�a mostrarse. Aseg�rese de que Host: field est� vac�o (si no es as�, axnet intentar� contactar con axnet en otra m�quina para buscar la base de datos).
Seleccione la base de datos en la caja de di�logo que ha sido lanzada por Browse, entonces haga click en OK.
Introduzca el nombre de usuario y contrase�a en la caja de di�logo de identificaci�n, y haba click en OK.
Deber�a ver "Starting elfodbc server" en la esquina inferior izquierda de la ventana de datos. Si aparece una ventana de error, vea la secci�n de depuraci�n de abajo.
El mensaje 'Ready' aparecer� en la esquina inferior inzquierda de la ventana de datos. Esto indica que a partir de ahora se pueden realizar consultas.
Seleccione una tabla desde Query->Choose tables, y entonces seleccione Query->Query para acceder a la base de datos. Las primeras 50 filas de la tabla m�s o menos deber�an aparecer.
Los siguientes mensajes pueden aparecer a la hora de intentar una conexi�n ODBC a trav�s de Applix Data:
elfodbc no puede encontrar libodbc.so. Chequee su fichero axnet.cnf.
libodbc.so no puedo encontrar el driver especificado en .odbc.ini. Verifique los ajustes.
El proceso del driver ha terminado debido a alg�n problem. Puede que no tenga una versi�n actualizada del paquete ODBC de Postgres .
La versi�n de septiembre de ApplixWare v4.4.1 (la primera versi�n con soporte oficial de ODBC bajo Linux) presenta problemas con nombres de usuario que exceden los ocho (8) caracteres de longitud. Descripci�n del problema contribuida por Steve Campbell.
Author | |
---|---|
Contribuido por Steve Campbell on 1998-10-20. |
Una buena herramienta para la depuraci�n de problemas de conexi�n usa el la aplicaci�n del sistema Unix strace.
Depurando con strace
Start applixware.
Inicie un comando strace en el proceso axnet. Por ejemplo, si
ps -aucx | grep ax |
cary 10432 0.0 2.6 1740 392 ? S Oct 9 0:00 axnet cary 27883 0.9 31.0 12692 4596 ? S 10:24 0:04 axmain |
Entonces ejecute
strace -f -s 1024 -p 10432 |
Compruebe la salida de strace.
Nota de Cary | |
---|---|
Muchos de los mensajes de error de ApplixWare van hacia stderr, pero no estoy seguro de a d�nde est� dirigido stderr, as� que strace es la manera de encontrarlo. |
Por ejemplo, despues de obtener el mensaje "Cannot launch gateway on server", ejecuto strace en axnet y obtengo
[pid 27947] open("/usr/lib/libodbc.so", O_RDONLY) = -1 ENOENT (No existe el fichero o directorio) [pid 27947] open("/lib/libodbc.so", O_RDONLY) = -1 ENOENT (No existe el fichero o directorio) [pid 27947] write(2, "/usr2/applix/axdata/elfodbc: no puedo cargar la biblioteca 'libodbc.so'\n", 61) = -1 EIO (I/O error) |
Para poder ir a trav�s de ApplixWare Data Tutorial, necesita crear las tablas de ejemplo a las que se refiere el Tutorial. La macro ELF Macro usada para crear las tablas intenta crear una condici�n NULL de algunas de las columnas de la base de datos y Postgres no permite esta opci�n por lo general.
Para bordear este problema, puede hacer lo siguiente:
Modificando la Demo ApplixWare
Copie /opt/applix/axdata/eng/Demos/sqldemo.am a un directorio local.
Edite esta copia local de sqldemo.am:
Busque 'null_clause = "NULL"
C�mbielo a null_clause = ""
Inicie Applix Macro Editor.
Abra el fichero sqldemo.am desde el Macro Editor.
Seleccione File->Compile and Save.
Salga del Macro Editor.
Inicie Applix Data.
Seleccione *->Run Macro
Introduzca el valor "sqldemo", entonces haga click en OK.
Deber�a ver el progreso en la l�nea de estado en la ventana de datos (en la esquina inferior izquierda).
Ahora deber�a ser capaz de acceder a las tablas demo.
Puede a�adir informaci�n sobre el usuario y contrase�a para la base de datos en el fichero de macro de inicio est�ndar de Applix. Este es un fichero ~/axhome/macros/login.am de ejemplo:
macro login set_set_system_var@("sql_username@","tgl") set_system_var@("sql_passwd@","no$way") endmacro |
Deber� tener cuidado con las protecciones de fichero en cualquier fichero que contenga informaci�n de nombres de usuario y contrase�as. |
psqlODBC ha sido compilado y probado en Linux. Han sido reportados �xitos con FreeBSD y Solaris. No se conocen restricciones para otras plataformas que soporten Postgres.