Conexión a BD vía archivo INI

Estoy generando una de mis primeras aplicaciones pero lo compilo y le creo ejecutable PBD y un .exe, pero cuando lo llevo a la otra Pc no conecta con la BD. Me dijeron que se podía hacer el exe con un archivo .ini en el que se puede cambiar la conexión según requerimiento. Lo que no comprendo es que parámetros va en el archivo INI y como lo válido en mi aplicación.

1 Respuesta

Respuesta
1
Cuando hablas de conexión por medio de un archivo INI, asumo que tu ya sabes como hacer una conexión, utilizando un objeto de transacción, como SQLCA, este objeto contiene las propiedades para poder hacer una conexión tipo ODBC o por medio de librerías nativas. A continuación un par de ejemplos.
Utilizando ODBC
STRING ls_password = 'sqlca'
STRING ls_user_id = 'dba'
STRING ls_data_base
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN='+ls_data_base+';UID='+ls_user_id+';PWD='+ls_password "
En la variable DBParm se integran las variables ls_data_base, ls_user_id, ls_password, las cuales contienen los datos que según su nombre representan en cada intentar.
utilizando LIBRERIAS NATIVAS para SQLSERVER
STRING ls_password = 'sqlca'
STRING ls_user_id = 'dba'
STRING ls_data_base
STRING ls_server_name
SQLCA.DBMS = "MSS Microsoft SQL Server 6.x"
SQLCA.Database = ls_database
SQLCA.LogPass = ls_password
SQLCA.ServerName = ls_server_name
SQLCA.LogId = ls_password
SQLCA.AutoCommit = False
SQLCA.DBParm = "StaticBind=0"
Como podrás ver, las variables adjuntas deberán contener los datos que representa cada una. Estos ejemplos pueden ser utilizados para hacer una conexión por manual por medio de una pantalla, por ejemplo, y sybstituyendo o integrando los valores de las variables, con valores de controles como por ejemplo, el password puede ser tomado de un control edit, luego este integrará el valor en dicha variable o intentar.
Visto esto ya solo nos queda definir por donde vienen los datos, o por la pantalla o por un vehículo externo como un archivo tipo INI.
Si te inclinaste por el ultimo, power builder maneja los archivos ini por medio de las funciones :
PROFILESTRING( <archivo ini>, <seccion>, <variable>, <valor por omision>) la cual es utilizada para extraer el valor determinado
y
SETPROFILESTRING(<archivo ini>, <seccion>, <variable>, <valor>) la cual es utilizada para grabar un valor en un archivo ini.
Visto esto entonces: la solución a la configuración externa que necesitas esta en estas 2 funciones, ya que por medio de estas puedes extraer los valores de un archivo tipo ini, el cual ya tengas prederterminado y en una ubicación simple de encontrar, por ejemplo puede estar en el mismo lugar donde se encuentra el ejecutable. Y luego en ella escribir una sección con las variables que tendrán que darle valores a las propiedades del objeto de transacción ej.
[SistemaLocal]
DataBase=
DBMS=
ServerName=
UserID=
Password=
Estos valores serán leídos antes de hacer la conexión y asignados a las variables que anteriormente en el ejemplo son utilizadas.
Finalizando:
Como ya te habrás dado cuenta, la configuración por medio de los archivos ini, es limitada solo por tu imaginación, por lo que incluso puedes tener una configuración para conexión por pantalla, o automática, varias bases de datos, un usuario determinado, y un extenso etc.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas