ACCESS 2000 para acceder a INFORMIX

Desearía programar pantallas, listados y consultas en ACCESS 2000 o ACCESS 2002, pero que accediera vía ODBC o vía OLE DB (ADO) a fin de que los datos los fuera a consultar y grabar de forma ONLINE contra una base de datos en INFORMIX. Las pruebas las estoy realizando en un PC con windows 2000 profesional. En esta máquina también tengo corriendo la base de datos Informix para windows.

4 respuestas

Respuesta
1
La conexión desde Access vía ODBC a una base de datos servidora es muy sencilla. Una vez tienes definido el DSN en el panel de control (orígenes de datos ODBC), creas la nueva base de datos en Access, lo primero sería vincular las tablas de Informix con las que quieras trabajar. Para ello, en el menú archivo, opción de "obtener datos externos", vincular, en tipo de archivo seleccionas ODBC, eliges el que conecta a Informix y seleccionas las tablas a vincular (si no quieres que te pregunte la clave cada vez que abras la aplicación, selecciona la opción de guardar contraseña). Una vez las tienes vinculadas las tablas, puedes trabajar con ellas como si fueran tablas locales de Access, crear formularios, informes, ...
Conexión de access 2000 con informix vía DSN.
Si lo hago, me da el siguiente mensaje de error.
Error reservado: -7778; no hay ningún mensaje para este error.
Creo que debo de tener algo mal configurado en las opciones de ACCESS 2000, en concreto dentro de Herramientas -> Opciones
-> Tablas o consultas. Opciones de "sintaxis..." o "permisos de ejecución"
-> Avanzadas (dentro de opciones) alguna casilla la debo de tener mal.
¿Me puede ayudar?. Gracias., por leer el mensaje tan rápido
Si utilizo una confirguración de dsn
Me muestra todas las tablas de la base de datos. Selecciono una tabla, me muestra todos los campos de la tabla, me pregunta que campo deseo utilizar como primario o único, selecciono un campo y me inserta como tabla en la relación de tablas de access. Todo perfecto.
Pero cuando este tabla vinculada, desde la relación de tablas, me muestra el siguiente mensaje de error.
[informix][informix oDBC driver][Informix] The specified tabla (administ.garticul) is not in the database (#-206).
Esto pasa, porque crea la tabla vinculada (en ACCESS 2000)con el nombre del "Owner" o sea el nombre del propietario que creo la tabla en la base de datos informix.
Por esto en la relación de tablas del access, me muestra: Administ_garticul.
¿Qué puedo hacer?
Gracias.
El error que me muestras es específico de Informix y no lo conozco. No obstante, cuando vinculas una tabla de una base de datos externa siempre antepone el nombre del propietario por delante, pero eso no es ningún problema. No obstante, puedes cambiarlo simplemente con hacer click sobre el botón derecho del ratón sobre la tabla y elegir la opción de cambiar de nombre.
Respuesta
1
Si la instalación de informix se ha hecho con la posibilidad de escucha por ODBC u OleDB, pues no tienes más que crear un DSN (desde el panel de control de windows)que apunte a esa base de datos y acceder a él desde access como proveedor de datos. Antes de empezar a hacer pruebas con access debes asegurarte de que el DSN funciona correctamente. De otra manera, tus esfuerzos serán en vano.
Al configurar el dsN de sistema, en la opción de Driver de informix, en la pestaña "conecction", que es en donde indicas: server name, userid, password, etc; hay un botón de "Apply & Test connection" y me sale: test conexión was successful.
El problema que tengo es el siguiente:
El problema empieza, cuando me muestra los nombres de las tablas de la base de datos que yo selecciono. Al mostrar el nombre de tablas, me aparece "Administ.cliente" en donde "Administ" es el propietario que creo la tabla en informix.
Con lo cual PRIMER PROBLEMA.
Continuo con los pasos, selecciono la tabla y cuando intenta importar los datos me da el siguiente error:
the specified table (Administ.cliente) in not in the database.
O sea al poner el propietario por delante, no encuentra la tabla en informix.
Segundo problema.
Pregunta: ¿Cómo puede hacer para que no me ponga el propietario de la tabla el ACCESS?
Gracias.
Informix es un gestor de bases de datos multiusuario en el que cada usuario con acceso al gestor tiene (si así se le ha asignado) permiso para crear una serie de tablas, etc. (objetos de base de datos) cuyo propietario es él mismo. Si el propietario de la tabla cliente es el administrador de la base de datos y en el test del DSN tu has hecho login con otro nombre de usuario, es normal que no te permita acceder a esa tabla, puesto que presumiblemente no tienes permiso para acceder a ella. Por otra parte, el tema de que desaparezcan los usuarios propietario de delante de los nombres de las tablas es imposible, por las mismas razones que te he explicado. Informix no tiene que ver con access, es multiusuario. Y los permisos de acceso son reales, una especie de tipo UNIX.
Hola. Gracias por responder tan rápido.
El suuario que creo la tabla en informix es el mismo usuario con el cual me conecto al windows nt profesional, y con este usuario de windows abro el DNS.
La prueba de conexión de DSN es correcta, debido a que veo todas las bases de datos que hay en informix, y cuando selecciono una b.de, veo todas las tablas y cuando selecciono una tabla veo todos los campos.
Por lo que veo, el problema, es que una vez creado el vinculo, cuando intento abrir la tabla vinculada desde access, busca la tabla [Administ.gcliente] y dice que no existe.
¿Sabes el porque puede ser?
Gracias.
De lo que debes de cerciorarte es de que el usuario con el que haces la prueba del DSN es el mismo usuario Informix con el que creaste la tabla (owner) gcliente. Yo he utilizado mucho access para conectarme a orígenes de datos tanto informix como oracle, multibase, etc. y en todos los casos aparece delante de la tabla el nombre del usuario propietario. Estoy convencido de que tienes un problema de permisos, y aunque veas nombres y estructuras de tablas, creo que eso no indica que puedas acceder a ellas.
Respuesta
1
Si ya tenés instalada la base de datos informix, entonces andá a panel de control y picá sobre fuentes de datos ODBC...
Luego en la etiqueta dns sistema fíjate si ya tenés la opción de informix...
Si no la tenés, andá a la opción agregar y colocá informix (tiene que estar)...
Luego cargá el acceess y en archivo, obtener datos externos, elegí la opción que quieras... en la siguiente ventana de abrir, fíjate en tipo de archivo que te aparece odbc databases, elegila, y en la siguiente ventana picá sobre la etiqueta origen de campo del registro y te tiene que aparecer informix...
Acordate que importar no es lo mismo que vincular...
Bueno...
Gracias, por responder tan rápido.
Realicé todos los pasos y perfecto.
El problema empieza, cuando me muestra los nombres de las tablas de la base de datos que yo selecciono. Al mostrar el nombre de tablas, me aparece "Administ.cliente" en donde "Administ" es el propietario que creo la tabla en informix.
Con lo cual PRIMER PROBLEMA.
Continuo con los pasos, selecciono la tabla y cuando intenta importar los datos me da el siguiente error:
the specified table (Administ.cliente) in not in the database.
O sea al poner el propietario por delante, no encuentra la tabla en informix.
Segundo problema.
Pregunta: ¿Cómo puede hacer para que no me ponga el propietario de la tabla el ACCESS?
Gracias.
Primero que todo fíjate quien es el propietario (si te entendí bien, la base informix no la tenés en tu equipo sino que está en otro) y si esa base tiene los permisos para tu usuario...
Segundo, si tenés acceso para administrar o ver la base informix en sí (o sea no accediendo desde access) fíjate si la tabla existe...
Tercero, si conocés al administrador de la base, hablá con él...
no dudes en consultarme de nuevo...
Mucha suerte!
Muchas gracias por ir contestando tan rápido.
Te explico:
1) La base de datos la tengo en la misma maquina que tengo el access.
2) La tabla existe en la base de datos, debido a que el access me muestra todas las tablas de la base de datos.
3) Yo soy el dba de la base de datos
4) Creo que el problema reside en que al crear el vinculo en access, pone el usuario "owner" como prejifo de la tabla vinculada, y cuando intentas abrir desde el access la tabla vinculada, da el error que te comente.
Si miras el error, veras que aparece el owner de la tabla, como parte del nombre de la tabla.
5) Pregunta: ¿Has realizado alguna vez un enlace entre Informix y ACCESS 2002?. Lo digo por repasar todos los pasos.
¿No sera que tengo algo mal configurado de las parámetros de ACCESS referente a enlaces de ODBC, debido a que en la version 2002 hay varios parámetros de configuración de ODBC.
Resumiendo:
- Posible mala parametrización del ACCESS 2002 en los parámetros de ODBC
- No se como quitar el owner al linkar la tabla desde access.
Muchas gracias.
Como andas...
Te cuento que nunca he realizado un enlace access con informix, pero si he realizado access con oracle, access con visual fox pro, y otras más, y el enlace es siempre el mismo (con odbc claro está), así que no creo que sea distinto, además el enlace no tiene nada que ver con el manejo de la base de datos en sí (informix, oracle...) sino simplemente un enlace...
Volviendo al problema, me juego la cabeza a que declaraste la base informix como usuario...
Así que fíjate y cambiala a tipo sistema...
Sino es así, dame la información de la base informix y vemos...
Suerte!...
No me voy a mover, porque estoy trabajando...
Volví a definir el dsn como sistema, siendo el usuario administrador de windows 2000 profosional.
Tanto el access 2002 como el informix, residen ambos en mi PC.
La base de datos como las tablas, las cree siendo "Administrador".
Además la conexión ODBC funciona, debido a que veo todas las B.DE que hay en el informix, veo todas las tablas de una base de datos, y veo todos los campos de una tabla de informix.
El problema, es que una vez creado el vínculo en access, cuando quiero abrir la tabla desde access 2002, me busca la tabla [Administ.gcliente] como ves pone el owner por delante de la tabla, y me dice que el ODBC no puede encontrar esta tabla.
No se que hacer.
Gracias.
Primero que todo te pido mil disculpas por la demora... hubo problemillas...
Capaz que todavía te sirve mi respuesta...
Logueate en windows y en el mismo informix con otro usuario que no se administrador...
Probá con esto sino, seguime preguntando, capaz que llegamos a una solución...
Respuesta
1
Me parece entonces que solo tendrías que hacer las conexiones ODBC, y luego de esto vincular las tablas, lo demás lo haces cómodamente desde Access,,, me parece que siempre y cuando domines el Access y el Informix no debes tener ningún problema,,, y si lo tienes,,, aquí estamos,,,
Suerte,.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas