Driver not loaded - Conectar PostgreSQL


([N1] anton) #1

Buen día,

A efecto de conectarme a una base de datos postgreSQL utilizo el driver nativo y los datos de servidor, puerto, base de datos, usuario y contraseña.

Pero cuando lo intento desde equipos de mis clientes no funciona, me retorna el error Driver Not Loaded.

¿Tengo que ir registrando el driver nativo de V7 en todos los equipos cliente para que funcione?

Entiendo que si utilizada DSN si tendría que hacerlo, pero al utilizar el medio de conexión nativa que ofrece V7 me parece una barbaridad, toda vez que los equipos cliente no necesariamente están a mi alcance y resulta imposible hacer eso.

Alguna pista al respecto.

Anton


([N3] pacosatu) #2

Hola Anton.

Creo que ya fue respondida esta consulta.

De todas formas, si nadie del foro tiene experiencia con postgreSQL, seguro que en Soporte te dicen exactamente qué ficheros son necesarios copiar o instalar en los clientes.

Saludos
Paco Satué


([N1] anton) #3

Gracias seh

El punto es que en mi computadora donde tengo instalado el postgre y todo eso funciona bien, pero en las máquinas de los clientes no, me marca el error de driver not load, driver not load.

Por eso mi duda de si tengo que instalar los origenes de datos en cada cliente tambien, imaginaba que al ser nativo de Velneo no sería necesario ir configurandolos con al odbcadd32.exe en cada equipo cliente, pero parece ser que por ahí va el tiro.

gracias

Anton


([N3] pacosatu) #4

Hola Anton.

Como ya te dije en la respuesta anterior:

… necesitarás alguna librería libpq.dll nativa (en 32bits por supuesto) que tendrás que copiar a la carpeta del vClient o del vServer según ejecutes los procesos en 1º plano o 3º plano. Si tienes instalado en tu equipo el cliente PostgreSQL de 32bits, en alguna carpeta (bin) tendrás las librerías. Vas copiando al directorio de instalación de vClient los ficheros .dll hasta que desaparezca el error.

Recuerda que el driver nativo no tiene nada que ver con ODBC. En tu equipo de desarrollo habrás instalado el software cliente de Postgre y es allí donde está la librería o librerías (subcarpeta bin) que debes copiar a los clientes.

Saludos
Paco Satué


([N1] anton) #5

Gracias seh

Efectivamente, resulta que era tema de copiar algunas librerias dll al directorio de instalación de la plataforma en sí, pero lo que no dice en ningún lado y he tenido que descubrirlo a prueba y error es lo siguiente, lo cual con gusto posteo para que ya los demás no tengan este problema. Ojo, aplica solo para windows, en mac funciona bien sin hacer nada, en linux no lo he probado.

Las librerías que son indispensables para que funcionen las conexciones a BD Postgre son:

libeay32.dll
libiconv-2.dll *
libintl-8.dll *
libpq.dll
ssleay32.dll

Estas deben estar instaladas en el directorio de Velneo, en x86, la pega viene porque aunque tengas instalado el postgre las que marque con asterisco no vienen en el directorio bin de postgre.

Para obtener estas librerias, las consigues de el paquete de instalación de postgre odbc, se llama edb_psqlodbc.exe, se toman del directorio que crea al instalarse y se copian al de Velneo.

Y así, sin más ni más ya funciona sin necesidad de definir origenes de datos vía odbcadd32.exe, ni crear dsn, ni nada.

Saludos y gracias por tu invaluable apoyo.

PD. El resto es solo adjuntar dichas librerias al proyecto V7, y en los on-init verificar si existen y si no copiarlas de cacherun al directorio de Velneo.

Anton