Configurar conexión a base de datos MCC/Sybase

Conectar Diaguita con MCC (SO de Diaguita Linux Debian)

Los pasos que se describen a continuación permiten configurar el acceso a un sistema MCC que cuente con una base de datos Adaptive Server Anywhere 6.0 (Sybase ASA) en un sistema Debian GNU/Linux.

Requerimientos

Para que Diaguita sea capaz de conectarse a la base de datos Sybase ASA de MCC hay que asegurarse de que el servicio de networking se encuentre correctamente configurado. En el documento adjunto, attachment:ConnectionTroubleshooting.pdf Download, se puede observar los pasos necesarios para verificar dicha configuración.

Instalación

Para que Diaguita se conecte efectivamente, es necesario instalar el controlador odbc para acceso a bases de datos Sybase ASA y el módulo para php que permita realizar conexiones utilizando odbc.

Para realizar la instalación en Debian Linux, se debe ejecutar:

apt-get install php5-odbc tdsodbc

Configuración en el servidor

Una vez que se dispone del controlador odbc para bases de datos Sybase ASA, es necesario copiar un archivo al directorio de configuraciones del servidor Linux:

cp /usr/share/tdsodbc/odbcinst.ini /etc/

El último paso consite en definir los parámetros de conexión a la base de datos Sybase ASA. Se debe editar el archivo odbc.ini como sigue:

nano /etc/odbc.ini

Se detalla a continuación el contenido de un archivo odbc.ini de ejemplo:

[catalogo]
Driver = FreeTDS
Description = MCC DB
Server = 192.168.1.209
Port = 2638
Database = catalogo
TDS_Version = 5.0

En los parámetros Description, Server, Port y Database debe completar los valores pertinentes a la instalación del MCC vigente. El identificador de la conexión o DSN es [catalogo] y debe corresponderse indefectiblemente al nombre de la base de datos proporcionada en el parámetro Database.

Prueba de la conexión

Una vez finalizada las configuraciones, es posible verificar si todo se encuentra en orden ejecutando el siguiente comando y proporcionándole el identificador DSN (catalogo), el usuario (dba) y la contraseña (sql) adecuados:

isql catalogo dba sql

Si la configuración es correcta, debe verse el texto Connected! y estar conectados con el cliente para la ejecución de comandos SQL. Para salir del cliente usar la sentencia quit.

Conectar Diaguita con MCC (SO de Diaguita Windows XP)

Requerimientos

Se da por sentado que se encuentra en funcionamiento el sistema MCC y además que el servidor en donde se encuentra Diaguita tiene configurado el ODBC según indica el instructivo de instalación del MCC (tener en cuenta que para que funcione correctamente el ODBC, se debe configurar la conexión en el DSN de sistema y no en el DSN de usuario ya que no funcionará).

Instalación

Para que Diaguita se conecte efectivamente, es necesario incorporar la extensión php_pdo_odbc al archivo de configuración de php.ini.

Configuración en la aplicación Diaguita

Una vez que se dispone del DSN para bases de datos Sybase ASA, es necesario configurar los parámetros en el archivo bases.ini de la siguiente forma:

[mcc]
dsn_odbc = catalogo
usuario = dba
clave = sql

Se define una nueva sección, conteniendo el parámetro dsn_odbc con el nombre que tiene nuestro DSN, el parámetro usuario y clave que deben coincidir con los datos de acceso a la base de datos Sybase ASA.

Configuración en la aplicación MCC

La implementación actual del mecanismo de interconexión entre Diaguita y MCC require que cada usuario del sistema diaguita que tenga los permisos de exportar al MCC tenga creada una cuenta de usuario equivalente en el sistema MCC. Dicha cuenta de usuario debe cumplir los siguiente requerimientos:

1. el identificador de acceso debe coincidir con el de diaguita
2. debe ser del tipo "Usuario" y no "Administrador"
3. tiene que ser un usuario activo (no poseer fecha de baja)

Seguimos los pasos tal cual y nos da este error.

Ejecuto: isql catalogo dba sql
Arroja el siguiente error: [ISQL]ERROR: Could not SQLConnect
Tenemos MCC funcionando el Windows y Diaguita en Linux.

Hola Viviana,

Podemos ir revisando estos puntos e ir viendo donde esta el incoveniente:

[ol]- que la base Sybase este corriendo y tengas configurado el ODBC en windows como para que la base sea accedida desde otro equipo.

  • que desde la consola de linux de tu servidor diaguita te podes conectar a la base Sybase[/ol]

Para el primer punto, teóricamente esta bien configurado desde una instalación misma de MCC (asegurate de tener un DSN de sistema configurado y que pueda testear la conexión desde ahí mismo). El documento que adjunto da algunas pautas y sugerencias sobre como configurar y probar la conexión a Sybase 6.0 (algo me sirvió para poder probar si efectivamente estaba andando la conectividad).

Para el segundo punto, comencemos por ejecutar:

[ol]- “isql -v catalogo dba sql” que te debería hacer la misma prueba pero mostrando un poco mas de información.

  • “odbcinst -q -s” te tiene que mostrar el nombre del DSN configurado (catalogo en nuestro caso)
  • “odbcinst -q -d” te tiene que mostrar el driver ODBC (FreeTDS al menos) [/ol]

Asegurate también de tener configurado el archivo /etc/odbc.ini con el contenido que arriba se aclaró y de copiar correctamente el odbinst.ini tambíen a /etc/odbcinst.ini.


ConnectionTroubleshooting.pdf (81.1 KB)

Buenas! Me encuentro realizando la instalación y configuración del Sybase para luego instalar el MCC 4.2 pero al seguir un tutorial brindado por otra Universidad, no coicide el wizard del tutorial con el que se abre en mi PC. Intuyo que podría llegar a ser porque el instalador es para arquitectura de 32 bits pero acá la mayoría de las PC’s tienen de 64 bits. Si bien me lo instala sin arrojar problemas (lo instalo como administrador), cuando busco ciertas solapas para configurar no aparecen. Alguna idea de como solucionar esto?

Siguiendo los pasos que figuran en este post, me arroja el mismo error que a Viviana. Lo aclaro por las dudas!
Saludos

Hola Lucía,

Del software MCC, al menos de mi parte, no puedo aportar mucha información de utilidad ya que no lo manejo. Quizás algún técnico de otra Universidad pueda aportar su granito de arena :wink:

Bien, adjunto a la respuesta a Viviana esta un PDF que hace de guía para determinar si la base Sybase está funcionando correctamente. ¿Ya lo pudieron chequear?

Saludos!

Buenas Sergio!, estoy en proceso probando lo que dice esa guía, aunque en algunos parámetros no me queda claro cual sería su contenido. De todas maneras seguiré probando y adjunto los wizard que me aparecen cuando abro el sybase e intento configurar el ODBC, por ahí sirven de ayuda. ( A simple vista y leyendo lo que dice más arriba en este post, a mí no me aparece el botón “Test Connection”).
Gracias!
Saludos.

Aparenta ser un inconveniente del lado de la configuración de Sybase con acceso ODBC.

De todas formas, la guía de configuración para SIU-Diaguita con Sybase está disponible en la wiki, por si se presenta alguna duda/confusión al respecto.

Saludos!

Buenas Sergio! Logré configurar todo y que me salga el bendito Connected! al conectar Diaguita con MCC, :). Pero cuando intento exportar datos MCC desde Diaguita me arroja el mensaje de error que adjunto en este mensaje. Tenés idea que es lo que puede estar pasando? nos falta configurar algo más?
Gracias nuevamente.
Saludos.
Lucía.


exportar_datos_mcc.jpg

exportar_datos_mcc.png

Hola Lucía,

te falta configurar la conexión a MCC desde Diaguita, como se explica en el manual.

Saludos!

Hola Sergio!
Había seguido los pasos que indica ese manual y al ejecutar el comando “isql catalogo dba sql” para probar la conexión, efectivamente me mostro el texto Connected! como dice el manual (Si la configuración es correcta, debe verse el texto Connected! y estar conectados con el cliente para la ejecución de comandos SQL).
Saludos.

Sergio, no había leído todo :p, mala mía. Me faltaba esto:

"Configuración en la aplicación Diaguita

Una vez que se dispone del DSN para bases de datos Sybase ASA, es necesario configurar los parámetros en el archivo bases.ini de la siguiente forma:

[mcc]
dsn_odbc = catalogo
usuario = dba
clave = sql

Se define una nueva sección, conteniendo el parámetro dsn_odbc con el nombre que tiene nuestro DSN, el parámetro usuario y clave que deben coincidir con los datos de acceso a la base de datos Sybase ASA. "

Ahora es otro el problema, pero estoy probando. Cualquier inconveniente, vuelvo a postear!!!
Gracias!!
Saludos.

Buenas…logré que me funcionara, al menos parcialmente. Cuando intento “exportar datos MCC” desde una CDA, CDC o TSI me arroja el error que adjunto en el mensaje. En los demás tipos de procedimientos me exporta sin problemas. Estoy investigando que es lo que puede estar pasando pero no logró solucionarlo.
Gracias nuevamente.
Saludos y buen finde!
Lucía


Error_1090001.jpg

Error_1090001.png

Lucía,

Ese error por lo que leo del mensaje se produce en la base de datos del MCC al momento de insertar los datos (la contraint por clave foránea no deja insertar). Lo que tienen que hacer es revisar el contenido de la tabla MCC_TPROCEDIMIENTO, para verificar y cargar en caso de que sea necesario los tipos de procedimiento que mencionás (CDA, CDC, TSI). De mi parte, desconozco la operatoria interna del MCC 4 como para saber como administrar los datos de dicha tabla.

Otro tema, luego les puede suceder el bug que se reportó en este post.

Saludos!

Hola, estoy teniendo el mismo problema que Luciana y Viviana. Al parecer es un error con la conexión ODBC, ya que al hacer “isql catalogo dba sql” me da este error: “[ISQL]ERROR: Could not SQLConnect”.
Configuré el archivo odbc.ini como lo indica la wiki pero el error persiste.
Alguien me puede ayudar por favor? Gracias.

Hola Esteban

Primero que nada, en la wiki de SIU-Diaguita se proporciona un PDF que tiene una serie de pasos para evaluar si es posible conectarse a un servidor Sybase SQL desde el servidor de Diaguita. Con ello pueden chequear si hay algún problema con la red, firewall, etc.

Estaría bueno que puedan proporcionar los archivos de configuración para determinar si están todos bien escritos, junto con mas info del sistema operativo… por lo demás, no podemos mas que sugerir posibles pruebas. De todas formas, es un problema relacionado a la conexión entre el servidor Diaguita y el Sybase (puede ser red, firewall, odbc, o error de sintaxis).

Saludos!