La Web del Programador: Comunidad de Programadores
 
    Pregunta:  4156 - EJECUTABLE EN POWER BUILDER
Autor:  Xavier Sierra
Hola como están...
Mi pregunta es la siguiente:
Ocurre que cuando hago una aplicación con acceso a base de datos en PB , luego hago el ejecutable de esa aplicación y hasta ahí no tengo problema, pero cuando mando a ejecutar la aplicación y me intento conectar a la base de datos me sale un error que dice "DBMS ODBC IS NOT SUPPORTED IN YOUR CURRENT INSTALLATION", ya he probado de muchas formas pero sigue mal... si alguien me puede decir como puedo solucionar este problema se lo agradecería mucho...
De antemano gracias...

  Respuesta:  Gabriel Marighetti
Tenia el mismo problema. Migramos de PB4 a PB6 (parece prehistorico) y al compilar y crear el ejecutable salia el mismo error.
Como dijo Jorge Aramayo, en el path debe estar el camino con la carpeta en donde tiene pb las dll's.
En mi caso puse c:pwrspb6;c:pwrsshared y funciono a la maravilla.
Gracias.

  Respuesta:  Jorge Aramayo
Este tipo de errores ocurre cuando directorios donde estan los archivos dll que usa powerbuilder para su conexión no se encuentran en la variabla de entorno "Path".
Muchas veces este error solo ocurre con el ejecutable porque cuando estas corriendo powerbuilder, el mismo carga todas estas librerías.
No sé si en el mensaje de error aparezca el nombre del archivo que no puede encontrar, por ejemplo en Oracle diría algo así:
"DBMS ODBC is not supported in your current installation ODBC32.DLL not found". Si viene el nombre busca su directorio y lo agregas en el path.
Si no viene el nombre, entonces te recomiendo que busques en los directorios de Access e identifiques en cuales se guardan los dll's, generalmente este directorio se llama tambien "dll", y hay que incluirlo en el path.
Si esto no resuelve tu problema me avisas para intentar otra cosa y si ya no tienes el problema te agradecería que termines la evaluación al final de la pregunta. De todas maneras aqui estamos a tu servicio.

(Esto lo saqué desde otro lado.. Saludos a ExeFavio)

  Respuesta:  Jorge Miranda Castillo
Lo que sucede es que no tiene el driver instalado o registrado en el regedit. Puede buscar el driver en c:\archivos de programa\sybase\shared\power builder\XXX.dll
si lo encuentra lo debe abrir con "rundll32" para registrarlo en el regedit de windows.

  Respuesta:  Miguel Villadiego
Primero, que vesion de PB usas, Desktop? o Enterprise?
Segundo, si verificas que desde PB te cnecte a la BD. que tipo de conectidad usas "ODBC", "SYC"...

1. Si utilizas la version Desktop y tratas de utilizar conexion con las librerias nativas de conectividad mediante código
ej: "SYC", te sale ese mensaje.

2. SI utilizas la version Enterprise, debes estar referenciando mal los datos al objeto de conectividad "SQLCA"
Tambien te saldra este mensaje.

Solucion:

Si tienes la version Desktop, debes utilizar e instanciar el objeto de conectividad como ODBC
esto implica que debes generar el la fuente de datos en conf. ODBC, si es que existen los drivers para
ese motor especifico.
ej:
sqlca.dbms = "ODBC"
sqlca.dbparm = "Connectstring=´DSN=Powersoft Demo DB V6;UID=dba;PWD=sql´"
connect;
If sqlca.sqlcode <> 0 Then
MessageBox("Error Connecting to Database", sqlca.sqlerrtext, Exclamation!)
Halt Close
End if

Si tienes la Version Enterprise, verifica que en los conectores nativos este el de tu motor ej: IN7 INFORMIX V7.X
entonces debes crear un profile de conectividad .
ej:
/////////////////////////////////
// Configuración de la conexión
/////////////////////////////////
string ls_startupfile

ls_startupfile = "c:\ini\pb.ini"

sqlca.DBMS = ProfileString (ls_startupfile, "database", "dbms", "")
sqlca.database = ProfileString (ls_startupfile, "database", "database", "")
sqlca.userid = Profile

  Respuesta:  Diogenes Alberto Moreira
el problema pasa porque en la maquina donde estas corriendo la aplicacion no tenes instalado el driver odbc que estas usando en la aplicacion o no existe el DSN que estas tratando de usar