• Jueves 28 de Marzo de 2024, 10:16

Autor Tema:  Crear conexión ODBC desde PB  (Leído 7795 veces)

dcnseC

  • Miembro activo
  • **
  • Mensajes: 38
  • Nacionalidad: pe
    • Ver Perfil
    • dcnseC Soft
Crear conexión ODBC desde PB
« en: Martes 17 de Abril de 2012, 21:35 »
0
Buenas tardes a todos, mi pregunta ahora es si es que se puede crear una conexión ODBC directamente desde Power Builder 9.0 ó 10.5., si es que se puede me gustaría que me ayuden con códigos.

He creado una aplicación, que algunos ya lo habran leido en mis mensajes anteriores que es el SisCot que actualmente está en su version 2012 - 1. El cual utiliza una conexion ODBC que debe ser creada manualmente al momento de instalarlo. Mi idea es que el programa lo creé al momento de la instalación sin ninguna intervensión del usuario.
Ya que el pequeño programa quiero compartirlo con otros usuarios de la red y que lo puedan usar, pero algunos de ellos desconocen de como crear una conexión ODBC y les hace imposible utilizar el programa.
El SisCot 2012 trabaja con una Base de Datos creada en Access 2003.

De antemano les agradezco por sus respuestas.

Juanra15

  • Miembro activo
  • **
  • Mensajes: 55
  • Nacionalidad: uy
    • Ver Perfil
Re:Crear conexión ODBC desde PB
« Respuesta #1 en: Miércoles 9 de Mayo de 2012, 18:02 »
0
Crea una funcion con 2 parametros string (nombre y ruta) y tirale este codigo, a mi me funciona sin problema, espero que te sirva, Saludos

RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources", nombre, RegString!,"Microsoft Access Driver (*.mdb)")

RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre, "Driver", RegString!,"C:\WINDOWS\system32\odbcjt32.dll")
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre, "DBQ", RegString!,ruta)
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre, "DriverId", ReguLong!,25)
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre, "FIL", RegString!,"MS Access;")
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre, "SafeTransactions", ReguLong!,0)
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre, "UID", RegString!,"")

RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre+"\Engines\Jet", "ImplicitCommitSync", RegString!,"")
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre+"\Engines\Jet", "MaxBufferSize", ReguLong!,2048)
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre+"\Engines\Jet", "PageTimeout", ReguLong!,5)
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre+"\Engines\Jet", "Threads", ReguLong!,3)
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre+"\Engines\Jet", "UserCommitSync", RegString!,"Yes")

dcnseC

  • Miembro activo
  • **
  • Mensajes: 38
  • Nacionalidad: pe
    • Ver Perfil
    • dcnseC Soft
Re:Crear conexión ODBC desde PB
« Respuesta #2 en: Domingo 13 de Mayo de 2012, 02:04 »
0
Estoy revisando tus lineas de código y encuentro lo siguiente:
Que en la función que voy a crear el parámetro nombre es el nombre de mi conexión;
y el parámetro ruta no aparece por ningun lado, donde se usa, o para que me va a servir?
me gustaría que me aclares esa partesita.

Pero desde ya muchas gracias por tu respuesta, voy a probar y comento como me fue.
« última modificación: Domingo 13 de Mayo de 2012, 02:17 por dcireto »

Juanra15

  • Miembro activo
  • **
  • Mensajes: 55
  • Nacionalidad: uy
    • Ver Perfil
Re:Crear conexión ODBC desde PB
« Respuesta #3 en: Lunes 14 de Mayo de 2012, 14:33 »
0
Parametros: nombre = "DB_Mi_Programa" , ruta = "C:\Mi Programa\base de datos.mdb"

RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources", nombre, RegString!,"Microsoft Access Driver (*.mdb)")

RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre, "Driver", RegString!,"C:\WINDOWS\system32\odbcjt32.dll")
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre, "DBQ", RegString!,ruta)
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre, "DriverId", ReguLong!,25)
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre, "FIL", RegString!,"MS Access;")
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre, "SafeTransactions", ReguLong!,0)
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre, "UID", RegString!,"")

RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre+"\Engines\Jet", "ImplicitCommitSync", RegString!,"")
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre+"\Engines\Jet", "MaxBufferSize", ReguLong!,2048)
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre+"\Engines\Jet", "PageTimeout", ReguLong!,5)
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre+"\Engines\Jet", "Threads", ReguLong!,3)
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\"+nombre+"\Engines\Jet", "UserCommitSync", RegString!,"Yes")

El parametro ruta  es justamente eso, la ruta donde se encuentra la base de datos de Access, Saludos.

dcnseC

  • Miembro activo
  • **
  • Mensajes: 38
  • Nacionalidad: pe
    • Ver Perfil
    • dcnseC Soft
Re:Crear conexión ODBC desde PB
« Respuesta #4 en: Lunes 14 de Mayo de 2012, 22:45 »
0
uy!!! perdon, creo q lo e estado revisando pero no me abia percatado de que estaba ahi...
Bueno ahora si está mas entendido... lo voy a probar y escribo para ver como me fue...
Muchas gracias por su paciencia...

dcnseC

  • Miembro activo
  • **
  • Mensajes: 38
  • Nacionalidad: pe
    • Ver Perfil
    • dcnseC Soft
Re:Crear conexión ODBC desde PB
« Respuesta #5 en: Sábado 19 de Mayo de 2012, 01:43 »
0
Me funcionó a la perfección y aún mejor de lo que esperaba.
Muchísimas gracias. Muy pronto estaré colgando la aplicación SisCot 2012 - 2, para que todos lo analicen y me den sus opiniones, estará colgada en mi Web.
Gracias nuevamente, saludos.

pana06

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re:Crear conexión ODBC desde PB
« Respuesta #6 en: Viernes 25 de Mayo de 2012, 21:10 »
0
Amigos, como seria la conexión, para mysql?, gracias de antemano.

pana

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re:Crear conexión ODBC desde PB
« Respuesta #7 en: Domingo 23 de Septiembre de 2012, 18:55 »
0
El codigo que ha dejado, Juanra15 te sirve para todas las bases de datos, si creas manualmente una conexion ODBC
te aparecera en una clave en el registro colgada a: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources ahi puedes ver las variables que requieres y las escribes con PB, como ya te lo han indicado.

Estos odbc no se veran en el administrador de origenes de datos, si deseas que se vean tambien tienes que agregarlos en:
C:\Windows\odbc.ini

Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================