ApplixWare

Configuration

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.

  1. 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.

    1. Al final del fichero axnet.cnf, y busque la l�nea que comienza con

      #libFor elfodbc /ax/...

    2. Cambie la l�nea para que se lea

      libFor elfodbc applixroot/applix/axdata/axshlib/lib
      lo cual le dir� a elfodbc que busque en este directorio para la librer�a de soporte ODBC. Si ha instalado Applix en cualquier otro sitio, cambie la trayectoria en consecuencia.

  2. Cree el fichero.odbc.ini como se describi� anteriormente. Tambi�n puede querer a�adir el indicador

    TextAsLongVarchar=0
    a la porci�n espec�fica de bases de datos de .odbc.ini para que los campos de texto no sean mostrados como **BLOB**.

Probando las conexiones ODBC de ApplixWare

  1. Ejecute Applix Data

  2. Seleccione la base de datos Postgres de su inter�s.

    1. Seleccione Query->Choose Server.

    2. 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).

    3. Seleccione la base de datos en la caja de di�logo que ha sido lanzada por Browse, entonces haga click en OK.

    4. 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.

  3. 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.

  4. 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.

Problemas Comunes

Los siguientes mensajes pueden aparecer a la hora de intentar una conexi�n ODBC a trav�s de Applix Data:

No puedo lanzar pasarela en el servidor

elfodbc no puede encontrar libodbc.so. Chequee su fichero axnet.cnf.

Error de pasarela ODBC: IM003::[iODBC][Driver Manager] El driver especificado no pudo cargarse

libodbc.so no puedo encontrar el driver especificado en .odbc.ini. Verifique los ajustes.

Servidor: Tuber�a rota

El proceso del driver ha terminado debido a alg�n problem. Puede que no tenga una versi�n actualizada del paquete ODBC de Postgres .

setuid a 256: fallo al lanzar la pasarela

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.

NotaAuthor
 

Contribuido por Steve Campbell on 1998-10-20.

El sistema de seguridad del programa axnet parece un poco sospechoso. axnet hace cosas en nombre del usuario y en un sistema de m�ltiples usuarios de verdad deber�a ejecutarse con seguridad de root (de este modo puede leer/escribir en cada directorio de usuario). Deber�a dudar al recomendar esto, sin embargo, ya que no tengo idea de qu� tipo de hoyos de seguridad provoca esto.

Depurando las conexiones ODBC ApplixWare

Una buena herramienta para la depuraci�n de problemas de conexi�n usa el la aplicaci�n del sistema Unix strace.

Depurando con strace

  1. Start applixware.

  2. Inicie un comando strace en el proceso axnet. Por ejemplo, si

    ps -aucx | grep ax 
    shows
    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 

  3. Compruebe la salida de strace.

    NotaNota 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)
As� que lo que ocurre es que elfodbc de applix est� buscando libodbc.so, pero no puede encontrarlo. Por eso es por lo que axnet.cnf necesita cambiarse.

Ejecutando la demo ApplixWare

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

  1. Copie /opt/applix/axdata/eng/Demos/sqldemo.am a un directorio local.

  2. Edite esta copia local de sqldemo.am:

    1. Busque 'null_clause = "NULL"

    2. C�mbielo a null_clause = ""

  3. Inicie Applix Macro Editor.

  4. Abra el fichero sqldemo.am desde el Macro Editor.

  5. Seleccione File->Compile and Save.

  6. Salga del Macro Editor.

  7. Inicie Applix Data.

  8. Seleccione *->Run Macro

  9. 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).

  10. Ahora deber�a ser capaz de acceder a las tablas demo.

Useful Macros

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

Atenci�n

Deber� tener cuidado con las protecciones de fichero en cualquier fichero que contenga informaci�n de nombres de usuario y contrase�as.

Plataformas soportadas

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.