datos externos a una base de datos de Oracle

30/11/2005 - 20:41 por Miller | Informe spam
Hola

Agradezco a la persona que me pueda colaborar con lo siguiente:

Problema :
Hice una tabla dinámica que consulta datos externos a una base de Oracle. el
driver utilizado para hacer las consultas es oracle 7.3 , si abro el archivo
en una máquina que tiene driver de oracle 8i, la tabla dinámica no funciona
por la conexión a la base de datos con el driver diferente. ( los parámetros
de conexión a la base de datos los configura Microsoft query dependiendo del
driver de oracle donde se elaboraron las consultas de archivo y los guarda en
un archivo .qry ó dqy)

Preguntas :
- Como hago para que las tablas dinámicas funcionen en otra máquina con una
versión de driver de Oracle diferente a donde elaborá las consultas ?
- Existe un componente o algo que independientemente del driver en que las
hice las pueda ejecutar en diferentes máquinas con diferentes driver de
oracle ?
- En el peor de los casos , hay que volver a hacerla cada consulta dinámica
en la otra máquina con datos externos tomados de misma base de datos pero con
driver de oracle de dicha máquina?

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
01/12/2005 - 04:23 | Informe spam
hola, Miller !

... tabla dinamica que consulta datos... a una base de Oracle. el driver utilizado para hacer las consultas es oracle 7.3
... en una maquina que tiene driver de oracle 8i, la tabla dinamica no funciona por... el driver diferente...
- Como hago para que las tablas dinamicas funcionen en otra maquina con una version de driver de Oracle diferente...
- Existe... algo que independientemente del driver en que las hice las pueda ejecutar en... maquinas con diferentes driver de oracle?
- En el peor de los casos, hay que volver a hacer cada consulta dinamica en la otra maquina... con driver de oracle de dicha maquina?



1) [hasta donde se] los componentes de conexion a bases de datos 'mantienen compatibilidad' con drivers 'anteriores'
de hecho, si piensas 'programar' para varias 'plataformas/versiones de drivers'... se recomienda programar en la mas 'baja' ;)

2) MS-Query [aun desde la interfase del usuario] para hacer las conexiones SQL/ODBC/OLE DB/... etc.
requiere que este instalado el componente MDAC [microsoft data access component] -por lo tanto-
si 'hablamos' de maquinas diferentes... [seguramente] los componentes instalados son tambien diferentes :))

3) existe la posibilidad de que en la maquina donde 'fallan'... a pesar de tener un driver de oracle 'superior' [o mas reciente]...
el componente MDAC sea 'inferior' [o de version anterior] al instalado en la maquina donde se crearon las consultas -?-

es posible que hubiera otras causas probables de la falla que expones -?-
comentas [si hubiera] algun detalle adicional ?
salduos,
hector.

p.d. solo por si las dudas...
-> obten la version mas reciente del componente MDAC [la 2.8] en: http://tinyurl.com/49duk
selecciona primero el idioma en que necesitas la instalacion del componente
lee bien [o imprime] las instrucciones antes de iniciar la descarga
no te olvides de descargar tambien el 'parche' [Q832483]

-> despues, revisa la informacion acerca de como 'dar de alta' el componente en:
http://support.microsoft.com/defaul...-es;197893
seccion: mas informacion - crear el origen de datos en el panel de control
[panel de control -> herramientas administrativas -> origenes de datos odbc]
nota: el enlace [en esta pagina] para 'llegar' a la version mas reciente es mas 'tardado'
Respuesta Responder a este mensaje
#2 Miller
01/12/2005 - 18:07 | Informe spam
Hola Hector

Muchas gracias por tu colaboración

Estuve revisando la verdión del Mdac y tengo la 2.8 para windows XP , esto
lo miré
con un Component Checker para revisar las versiones.

Pero he detectado lo siguiente:

Mi PC tiene Windows XP SP2 con office 2000 , tengo driver de Oracle 7.3 y
Microsof ODBC for Oracle.

Los pasos que hago son :

- Hago un archivo de excel con datos externos y configuro las consultas con
el ODBC con el driver de Oracle 7.3 ( las consulta me traen datos)

- Cierro el archivo y cambio DNS con el mismo nombre pero ahora con el driver
Microsof ODBC for Oracle.

- Abro el archivo de excel e intento ejecutar las consultas y me sale el
error de
[Microsoft] [Administrador de controladores ODBC] El SQLSetConnectAttr de
controlador falló

- Igualmente me genera este error si trato de abrir en una máquina
diferente con Oracle 8i y oficce 2000.


ahora :

- Hice un archivo de excel con datos externos y configuro las consultas con
el ODBC con el driver de Oracle 7.3 ( las consulta me traen datos)

- Abrí el archivo en una máquina con Office 2003 y driver Oracle 8i
las consultas me ejecutaron bien.

- Hice varias pruebas de archivos con diferentes driver de Oracle y los
probé en la maquina con Office 2003 y funcionaron todas.


Pregunta : Será entonces que el problema que tengo es una limitante de
office 2000 y se corrigió en 2003 ?

- Habrá un parche para esto específicamente ?

De nuevo mil gracias por tu ayuda .

Miller









"Héctor Miguel" escribió:

hola, Miller !

> ... tabla dinamica que consulta datos... a una base de Oracle. el driver utilizado para hacer las consultas es oracle 7.3
> ... en una maquina que tiene driver de oracle 8i, la tabla dinamica no funciona por... el driver diferente...
> - Como hago para que las tablas dinamicas funcionen en otra maquina con una version de driver de Oracle diferente...
> - Existe... algo que independientemente del driver en que las hice las pueda ejecutar en... maquinas con diferentes driver de oracle?
> - En el peor de los casos, hay que volver a hacer cada consulta dinamica en la otra maquina... con driver de oracle de dicha maquina?

1) [hasta donde se] los componentes de conexion a bases de datos 'mantienen compatibilidad' con drivers 'anteriores'
de hecho, si piensas 'programar' para varias 'plataformas/versiones de drivers'... se recomienda programar en la mas 'baja' ;)

2) MS-Query [aun desde la interfase del usuario] para hacer las conexiones SQL/ODBC/OLE DB/... etc.
requiere que este instalado el componente MDAC [microsoft data access component] -por lo tanto-
si 'hablamos' de maquinas diferentes... [seguramente] los componentes instalados son tambien diferentes :))

3) existe la posibilidad de que en la maquina donde 'fallan'... a pesar de tener un driver de oracle 'superior' [o mas reciente]...
el componente MDAC sea 'inferior' [o de version anterior] al instalado en la maquina donde se crearon las consultas -?-

es posible que hubiera otras causas probables de la falla que expones -?-
comentas [si hubiera] algun detalle adicional ?
salduos,
hector.

p.d. solo por si las dudas...
-> obten la version mas reciente del componente MDAC [la 2.8] en: http://tinyurl.com/49duk
selecciona primero el idioma en que necesitas la instalacion del componente
lee bien [o imprime] las instrucciones antes de iniciar la descarga
no te olvides de descargar tambien el 'parche' [Q832483]

-> despues, revisa la informacion acerca de como 'dar de alta' el componente en:
http://support.microsoft.com/defaul...-es;197893
seccion: mas informacion - crear el origen de datos en el panel de control
[panel de control -> herramientas administrativas -> origenes de datos odbc]
nota: el enlace [en esta pagina] para 'llegar' a la version mas reciente es mas 'tardado'



Respuesta Responder a este mensaje
#3 Héctor Miguel
02/12/2005 - 04:49 | Informe spam
hola, Miller !

... Mdac y tengo la 2.8... driver de Oracle 7.3 y Microsof ODBC for Oracle.


___ 1 ___
- Hago un archivo... con datos externos y configuro las consultas con el ODBC con el driver de Oracle 7.3
- Cierro el archivo y cambio DNS con el mismo nombre pero ahora con el driver Microsof ODBC for Oracle.
- Abro el archivo de excel e intento ejecutar las consultas y me sale el error de
[Microsoft] [Administrador de controladores ODBC] El SQLSetConnectAttr de controlador fallo
- Igualmente me genera este error si trato de abrir en una maquina diferente con Oracle 8i y oficce 2000.


___ 2 ___
- Hice un archivo de excel con datos externos y configuro las consultas con el ODBC con el driver de Oracle 7.3
- Abri el archivo en una maquina con Office 2003 y driver Oracle 8i las consultas me ejecutaron bien.
- Hice varias pruebas de archivos con diferentes driver de Oracle y... en la maquina con Office 2003 y funcionaron todas.
Pregunta: Sera entonces que el problema que tengo es una limitante de office 2000 y se corrigio en 2003 ?
- Habra un parche para esto especificamente ?



1) [segun parece]... los errores 'aparecen' cuando se conjuga:
a) cambio de los DSN y...
b) cambio del controlador OBDC 'entre' el que crea [Oracle 7.x / 8x] ...y el que 'falla' [Microsof ODBC for Oracle]

2) cuando 'creas' con drivers de Oracle 7.x ... y 'refrescas' con drivers Oracle [aun 'superiores como el 8x]...
[segun comentas]... NO hay 'fallas' ;)

3) resumiendo: [seguramente] las sentencias de la conexion son distintas en uso para cada driver [Oracle / Microsoft for Oracle] -?-
-> sigue los siguientes pasos para 'comparar' los strings de conexion que utiliza cada driver...
[obviamente] tendras que 'activar' la hoja Y la conexion donde se encuentra la consulta...
a) ve al editor de vba... y abre la ventana de inmediato -> atajo: ctrl + G
b) introduce [y pulsas enter al final]: ? activesheet.querytables(1).connection
[o mejor aun... usa una celda 'limpia' para depositar las cadenas de conexion p.e. [A1] la primera vez y [A2] la segunda
modificando en la ventana de inmediato a:
range("a1") = activesheet.querytables(1).connection
-> puedes utilizar [A1} para la pc donde SI funciona y [A2] para la pc/driver/dsn/... donde NO funciona
c) repite los pasos anteriores en la pc/driver/dsn/... donde NO funciona y...
-> COMPARA los strings de las cadenas de conexion que utiliza cada driver [Oracle / Microsoft for Oracle]
[seguramente] encontraras 'las causas' [por cadenas de conexion diferentes] -?-

comentas ?
saludos.
hector.
Respuesta Responder a este mensaje
#4 Miller
02/12/2005 - 22:31 | Informe spam
Hola Hector

Efectivamente los parámetros de conexiones son diferentes por eso es que no
reconoce el office 2000 diferentes drivers

Por ejemplo con Oracle 7.3 lo crea así :

DSN=xxx;UID=xxx ;DBQ=xxx ;ASY=OFF;

Para Microsoft ODBC para Oracle así:

DSN=xxx;UID=xxx;SERVER=xxx;

Para 8i genera otros , y si lo hago en 7.x no lo reconoce luego en 8x (
esto con office 97 o 2000)

PERO como te había comentado en office 2003 los reconoce todos independiente
de en que driver lo haya hecho.

De ahí la pregunta
- habrá algun parche para Office 97 ó 2000 que lo resuelva
- La solución queda solamente en ofiice 2003 ?


Gracias !



"Héctor Miguel" escribió:

hola, Miller !

> ... Mdac y tengo la 2.8... driver de Oracle 7.3 y Microsof ODBC for Oracle.
___ 1 ___
> - Hago un archivo... con datos externos y configuro las consultas con el ODBC con el driver de Oracle 7.3
> - Cierro el archivo y cambio DNS con el mismo nombre pero ahora con el driver Microsof ODBC for Oracle.
> - Abro el archivo de excel e intento ejecutar las consultas y me sale el error de
> [Microsoft] [Administrador de controladores ODBC] El SQLSetConnectAttr de controlador fallo
> - Igualmente me genera este error si trato de abrir en una maquina diferente con Oracle 8i y oficce 2000.
___ 2 ___
> - Hice un archivo de excel con datos externos y configuro las consultas con el ODBC con el driver de Oracle 7.3
> - Abri el archivo en una maquina con Office 2003 y driver Oracle 8i las consultas me ejecutaron bien.
> - Hice varias pruebas de archivos con diferentes driver de Oracle y... en la maquina con Office 2003 y funcionaron todas.
> Pregunta: Sera entonces que el problema que tengo es una limitante de office 2000 y se corrigio en 2003 ?
> - Habra un parche para esto especificamente ?

1) [segun parece]... los errores 'aparecen' cuando se conjuga:
a) cambio de los DSN y...
b) cambio del controlador OBDC 'entre' el que crea [Oracle 7.x / 8x] ...y el que 'falla' [Microsof ODBC for Oracle]

2) cuando 'creas' con drivers de Oracle 7.x ... y 'refrescas' con drivers Oracle [aun 'superiores como el 8x]...
[segun comentas]... NO hay 'fallas' ;)

3) resumiendo: [seguramente] las sentencias de la conexion son distintas en uso para cada driver [Oracle / Microsoft for Oracle] -?-
-> sigue los siguientes pasos para 'comparar' los strings de conexion que utiliza cada driver...
[obviamente] tendras que 'activar' la hoja Y la conexion donde se encuentra la consulta...
a) ve al editor de vba... y abre la ventana de inmediato -> atajo: ctrl + G
b) introduce [y pulsas enter al final]: ? activesheet.querytables(1).connection
[o mejor aun... usa una celda 'limpia' para depositar las cadenas de conexion p.e. [A1] la primera vez y [A2] la segunda
modificando en la ventana de inmediato a:
range("a1") = activesheet.querytables(1).connection
-> puedes utilizar [A1} para la pc donde SI funciona y [A2] para la pc/driver/dsn/... donde NO funciona
c) repite los pasos anteriores en la pc/driver/dsn/... donde NO funciona y...
-> COMPARA los strings de las cadenas de conexion que utiliza cada driver [Oracle / Microsoft for Oracle]
[seguramente] encontraras 'las causas' [por cadenas de conexion diferentes] -?-

comentas ?
saludos.
hector.



Respuesta Responder a este mensaje
#5 Héctor Miguel
04/12/2005 - 07:48 | Informe spam
hola, Miller !

Efectivamente los parametros de conexiones son diferentes por eso es que no reconoce el office 2000 diferentes drivers
Para 8i genera otros , y si lo hago en 7.x no lo reconoce luego en 8x (esto con office 97 o 2000)
PERO como te habia comentado en office 2003 los reconoce todos independiente de en que driver lo haya hecho.
De ahi la pregunta
- habra algun parche para Office 97 o 2000 que lo resuelva
- La solucion queda solamente en ofiice 2003 ?



a) [me parece que] las situaciones que planteas... 'nos dejan' como al principio [segunda linea del comentario inicial]...
-> '... de hecho, si piensas 'programar' para varias 'plataformas/versiones de drivers'... se recomienda programar en la mas 'baja'

b) considerando que los drivers 'directos' de oracle... pudieran NO estar presentes en otras/todas las versiones/plataformas/pc's/etc.
y que los drivers de oracle [parece que] NO 'respetan' sus propias versiones anteriores y que la siguiente version... -quien lo sabe?-
[ademas de que son 'ajenos' a microsoft y 'ellos' son los que consideran las mejoras para sus aplicaciones... esperar algun 'parche' ?]
[creo que] la plataforma mas 'baja' que te queda... es programar con las conexiones [y los drivers de microsoft] de office 97 -?-

c) las 'preferencias' de los expertos en conexiones van en el siguiente orden...
1) mdac/ado [es decir... macros]
-> requiere de mantener 'uniformidad' en las versiones instaladas... o -nuevamente- usar la mas baja al programar :D
2) usas los drivers de oracle
-> ya has visto algunos 'inconvenientes' por in/compatibilidades en la version de los controladores :(
3) usar los drivers odbc
-> se supone que es la opcion mas 'universal' -?-

saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida