Power Builder - *.ini PB nativo

 
Vista:

*.ini PB nativo

Publicado por omar (14 intervenciones) el 28/03/2004 19:07:15
Hola que tal.. tengo una aplicacion que trabaja con una BD de access, mi sistema esta casi listo, mi problema es que al momento de la instalación tengo que crear manualmente una conexion odbc, tengo entendido que desde una conexion nativa lo puedes hacer sin necesidad crear una Datasource (DSN), mi archivo *.ini tiene lo sgte:
[Database]
DBMS=ODBC
Database=Farmaweb
UserId=dba
DatabasePassword=
LogPassword=
ServerName=
LogId=
Lock=
DbParm=Connectstring='DSN=Farmaweb'
tengo entendido con el profilestring lo puedo llamar, cual seria la codificacion en el evento open de la aplicacion para no tenr que crear una conexion ODBC manualmente... gracias.. espero sus respuestas...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:*.ini PB nativo

Publicado por Oscar (1178 intervenciones) el 29/03/2004 01:25:23
Hola omar:

La codificación con profilestring en el evento open, tienes en:

http://www.lawebdelprogramador.com/news/mostrar_new.php?id=73&texto=Power+Builder&n1=161281&n2=1&n3=0&n4=0&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0

Pero no vas llegar muy lejos; ya que ese archivo ini, simplemente sirve para cambiar la configuración (nombre de la BD, contraseña, etc.) fuera de la aplicación; se supone que ya debes tener creado tu Datasource (DSN), no importa cómo. Entiendo además, que no te gusta crearlo manualmente (creo no gusta a nadie ;-).

Entonces, te propongo una solución por otro camino. Concretamente debes modificar el regedit de Windows.

Primero ingresá al regedit y observá en:

HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\

Verás que aparece el nombre de tu BD (Farmabet) y dentro de ella:

Predeterminado…..REG_SZ…..(Valor no establecido)
DBQ………….........REG_SZ......C:\micarpeta\Farmabet.mdb // es Alfanumérico
Driver.....................REG_SZ......C:\WINDOWS\System32\odbcjt32.dll
DriverId……………REG_SZ…..0x00000019(25) // es DWORD
FIL..........................REG_SZ.....MS Access;
SafeTransactions...REG_SZ…..0x00000000(0)
UID.........................REG_SZ

Y luego, tienes una subcarpeta: Engines\Jet, que tiene otro tanto de valores alfanuméricos y DWORD; entonces, tu objetivo debe ser introducir todo eso en el regedit, antes que corra tu aplicación.

//(CONTINUA...)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:*.ini PB nativo (cambiar el regedit)

Publicado por Oscar (1178 intervenciones) el 29/03/2004 01:33:35
//(CONTINUACIÓN...)

¿Cómo modificar el regedit?
* Primer método
Al momento de instalar tu aplicación debe configurar automáticamente el regedit; para eso debes indicarle a tu instalador que debe crear las claves (carpeta Farmabet), y valores alfanuméricos y DWORD. Este último, maneja números decimales o hexadecimales. Por ejemplo, sólo escribes 25 en decimal y aparece 0x00000019 (25).

Existe un manual que estaba circulando por ahí hace algún tiempo. Explica cómo crear un instalador en PB, usando el programa "Setup Generator", enseña entre otras cosas a cambiar el regedit.

* Segundo método
En el evento open, antes que se ejecute tu conexión a la BD, debes cambiar el regedit con funciones propias de PB. Por ejemplo, verificas si ya existe esa clave (carpeta) con: RegistryGet ; caso contrario, lo cambias con RegistrySet (existen ejemplos en el foro).

Si tienes dudas y te animas por éste método, seguimos en contacto…

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar