Error de acceso OLEDB
edmichs
Mensajes publicados
13
Estado
Miembro
-
nagaD.scar Mensajes publicados 4500 Estado Miembro -
nagaD.scar Mensajes publicados 4500 Estado Miembro -
Hola,
¡hola!
<<Error de acceso OLEDB
número de error = 2032>> he establecido una conexión a una base de datos Oracle, todo funciona, pero cuando intento hacer una consulta para interrogar mi base de datos Oracle, recibo este mensaje de error:
Error de acceso OLEDB
número de error = 2032
falla al abrir la conexión:
fuente de datos <BEST1>
PROVEEDOR OLEDB <OraOLEDB.Oracle>
tiempo de error del sistema:
fuente = OraOLEDB
número de error = -2147467259 (0*80004005)
estoy trabajando con WinDev 17, por favor, no sé qué hacer y necesito ayuda... Gracias
Configuración: Windows 7 / Chrome 52.0.2743.116
¡hola!
<<Error de acceso OLEDB
número de error = 2032>> he establecido una conexión a una base de datos Oracle, todo funciona, pero cuando intento hacer una consulta para interrogar mi base de datos Oracle, recibo este mensaje de error:
Error de acceso OLEDB
número de error = 2032
falla al abrir la conexión:
fuente de datos <BEST1>
PROVEEDOR OLEDB <OraOLEDB.Oracle>
tiempo de error del sistema:
fuente = OraOLEDB
número de error = -2147467259 (0*80004005)
estoy trabajando con WinDev 17, por favor, no sé qué hacer y necesito ayuda... Gracias
Configuración: Windows 7 / Chrome 52.0.2743.116
3 respuestas
Hola,
La primera cosa que hay que hacer es dar el fragmento de código que no funciona x)
Más claramente, viendo tu puesto diría que tienes un conector declarado en tu análisis. (Supongo que tienes bien los controladores Oracle y que la conexión funciona). ¿Tus consultas se crean a través del generador de consultas de Windev o las escribes a mano? ¿Tus datos de conexión son dinámicos o estáticos? ¿Tu conexión está realmente abierta?
En fin, se necesita un poco más de información porque, en el estado actual, todo lo que puedo decirte es que tu conexión no funciona, pero eso no va a ayudar^^
naga
La primera cosa que hay que hacer es dar el fragmento de código que no funciona x)
Más claramente, viendo tu puesto diría que tienes un conector declarado en tu análisis. (Supongo que tienes bien los controladores Oracle y que la conexión funciona). ¿Tus consultas se crean a través del generador de consultas de Windev o las escribes a mano? ¿Tus datos de conexión son dinámicos o estáticos? ¿Tu conexión está realmente abierta?
En fin, se necesita un poco más de información porque, en el estado actual, todo lo que puedo decirte es que tu conexión no funciona, pero eso no va a ayudar^^
naga
Voici la traduction :
```html
gsdReqClient es una Fuente de Datos
MaConexion es una Conexión
// Parámetros de la conexión
SI NO HDescripciónConexión("MaConexion","system","Stage2016","BEST1","BEST1",hOledbOracle,hOLecturaEscritura) ENTONCES
Info("parámetros incorrectos")
Error(HErroInfo())
SINO
// Apertura de la conexión
HOuvreConexion(MaConexion)
Reloj de arena()
// Ejecución de la consulta
SI NO HEjecutaConsultaSQL(gsdReqClient, hConsultaDefecto, "SELECT * FROM CLIENTE") ENTONCES
Error(HErroInfo())
SINO
Info("La consulta contiene " + HNbReg(gsdReqClient) + " registros.")
FIN
Reloj de arena(Falso)
FIN
ya tengo una conexión vía OLE DB establecida en mi análisis, todos los controladores de Oracle están bien instalados y la conexión que he establecido funciona bien, pero cuando ejecuto una consulta no funciona ```
gsdReqClient es una Fuente de Datos
MaConexion es una Conexión
// Parámetros de la conexión
SI NO HDescripciónConexión("MaConexion","system","Stage2016","BEST1","BEST1",hOledbOracle,hOLecturaEscritura) ENTONCES
Info("parámetros incorrectos")
Error(HErroInfo())
SINO
// Apertura de la conexión
HOuvreConexion(MaConexion)
Reloj de arena()
// Ejecución de la consulta
SI NO HEjecutaConsultaSQL(gsdReqClient, hConsultaDefecto, "SELECT * FROM CLIENTE") ENTONCES
Error(HErroInfo())
SINO
Info("La consulta contiene " + HNbReg(gsdReqClient) + " registros.")
FIN
Reloj de arena(Falso)
FIN
ya tengo una conexión vía OLE DB establecida en mi análisis, todos los controladores de Oracle están bien instalados y la conexión que he establecido funciona bien, pero cuando ejecuto una consulta no funciona ```
À cette ligne :
tu n'indiques pas de connexion. Aussi, généralement pour ce type d'accès on passe le paramètre "hQueryWithoutCorrection". Donc :
Ensuite je déconseille
dis-moi ce que ça donne.
Naga
HExécuteRequêteSQL(gsdReqClient, hRequêteDéfaut, "SELECT * FROM CLIENT")
tu n'indiques pas de connexion. Aussi, généralement pour ce type d'accès on passe le paramètre "hQueryWithoutCorrection". Donc :
HExécuteRequêteSQL(gsdReqClient,MaConnexion, hQueryWithoutCorrection, "SELECT * FROM CLIENT")
Ensuite je déconseille
*et de plutôt nommer les champs (pour plus de clarté entre autres)
dis-moi ce que ça donne.
Naga
Gracias de antemano, pero no siempre funciona. Aquí está el nuevo mensaje de error que devuelve:
Error de acceso OLEDB
Número de error = 2032
Fallo en la apertura de la conexión:
Fuente de datos <BEST1>
PROVEEDOR OLEDB <OraOLEDB.Oracle>
Tiempo de error de conexión:
Descripción = Una operación OLE-DB en múltiples pasos ha generado errores.
Verifique cada valor de estado OLE-DB disponible.
No se ha realizado ningún trabajo.
Fuente = Componentes del servicio Microsoft OLE DB
Número de error = -2147217887 (0*8004e21)
He comprobado mi conexión en modo de prueba línea por línea y aparentemente ahí es donde está el problema, no se abre la conexión...
Todas mis entradas son correctas en mi tnsnames.ora
Por cierto, aquí está mi tnsnames.ora:
# tnsnames.ora Archivo de configuración de red: \app\Edy\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
# Generado por herramientas de configuración de Oracle.
BEST1 =
(DESCRIPCIÓN =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Edy-PC)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = BEST1)
)
Error de acceso OLEDB
Número de error = 2032
Fallo en la apertura de la conexión:
Fuente de datos <BEST1>
PROVEEDOR OLEDB <OraOLEDB.Oracle>
Tiempo de error de conexión:
Descripción = Una operación OLE-DB en múltiples pasos ha generado errores.
Verifique cada valor de estado OLE-DB disponible.
No se ha realizado ningún trabajo.
Fuente = Componentes del servicio Microsoft OLE DB
Número de error = -2147217887 (0*8004e21)
He comprobado mi conexión en modo de prueba línea por línea y aparentemente ahí es donde está el problema, no se abre la conexión...
Todas mis entradas son correctas en mi tnsnames.ora
Por cierto, aquí está mi tnsnames.ora:
# tnsnames.ora Archivo de configuración de red: \app\Edy\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
# Generado por herramientas de configuración de Oracle.
BEST1 =
(DESCRIPCIÓN =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Edy-PC)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = BEST1)
)
HDécritConnexion("MaConnexion","system","Stage2016","BEST1","",hOledbOracle,hOLectureEcriture)
Normalmente la fuente de datos es suficiente en Oracle.
Ah, también te aconsejo que cierres bien la conexión (HFermeConnexion) por si acaso (dependiendo de tu configuración, puedes tener un número limitado o incluso único de conexiones - por si acaso, reinicia tu servicio Oracle para cortar todas las conexiones persistentes posibles).
naga
Puedes comprar una licencia de actualización, pero probablemente tendrás que hacer una solicitud directamente.
Los precios para la actualización a la última versión de Windev:
https://www.pcsoft.fr/pcsoft/tarifs.htm#oracle
Pero dado que en tu caso quieres una actualización para la versión 17, seguramente tendrás que hacerles una solicitud directamente.
Los precios para la actualización a la última versión de Windev:
https://www.pcsoft.fr/pcsoft/tarifs.htm#oracle
Pero dado que en tu caso quieres una actualización para la versión 17, seguramente tendrás que hacerles una solicitud directamente.
No, si cada DLL fuera portátil de una versión a otra, no venderían muchas licencias ^^ (y al final podrías simplemente renombrar tu DLL de la versión 11)
De hecho, la licencia está sujeta a una clave que se inscribe al generar tu exe. Si no hay licencia, el exe no podrá desplegar la conexión.
La solución posible sería, de hecho, hacer una DLL (quizás un componente también te lo permitiría) de WinDev en la versión 11 de transacciones con Oracle, que luego podrás importar en tu proyecto en la versión 18 para explotar indirectamente el acceso nativo. Un poco pesado, pero debería funcionar.
De hecho, la licencia está sujeta a una clave que se inscribe al generar tu exe. Si no hay licencia, el exe no podrá desplegar la conexión.
La solución posible sería, de hecho, hacer una DLL (quizás un componente también te lo permitiría) de WinDev en la versión 11 de transacciones con Oracle, que luego podrás importar en tu proyecto en la versión 18 para explotar indirectamente el acceso nativo. Un poco pesado, pero debería funcionar.