SoloCodigo
Programación General => Power Builder => Mensaje iniciado por: jc_investigador07 en Domingo 12 de Noviembre de 2006, 18:20
-
:hola: Hola amigos muy buenas tardes. Siempre he escuchado de la creacion de un archivo.ini junto a tu aplicacion lo cual te permite establecer la conexion con tu BD, bueno yo siempre lo he hecho desde el mismo powerScript, pero ahora tengo curiosidad en hacer la misma tarea pero desde un archivo.ini, quisiera saber si alguien me puede dar las pautas de como hacerlo, es decir que estructura seguir en el armado de este fichero.ini. ¿Por cierto ?,¿Se encuentra ventajas en el uso de un archivo.ini en lugar de hacer el codigo desde el mismo powerscript?, Aqui les mando las lineas de codigo empleadas en mi PowerScript.
// Profile BD_control_clientes
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=control_clientes;UID=sa;PWD='"
Si alguien me echa una manito en decirme como estas lineas quedan en un archivo.ini, es decir, como seria la estructura de estas lineas en un fichero.ini. Gracias de antemano a todos los amigos del foro de PB. :comp:
-
hola
mira no se realmente si PB tome el archivo completo para crear la conexion pero yo lo utilizo asi
Archivo Ini
[Conexion]
DSN=control_clientes
UID=sa
PWD=
AutoCommit=False
y En pb lees asi
[ Power Script ]
String ls_DSN,ls_UID,ls_PWD
Boolean lb_AutoCommit
// ProfileString(Archivo ini,Seccion,Clave,Valor por default si la clave esta vacia o no existe)
ls_DSN= trim(ProfileString("Config.ini", "Conexion","dsn", "control_clientes"))
ls_UID= trim(ProfileString("Config.ini", "Conexion","uid", "sa"))
ls_PWD=trim(ProfileString("Config.ini", "Conexion","pwd", ""))
lb_AutoCommit=UPPER(trim(ProfileString("Config.ini", "Conexion","dsn", "FALSE")))="TRUE"
// Profile BD_control_clientes
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = lb_AutoCommit
SQLCA.DBParm = " ConnectString='DSN="+ls_DNS+";UID="+ls_UID+";PWD="+ ls_PWD+"'"
Esa seria una manera en al que puedes conectarte a traves de un Ini, tiene muchas ventajas ya que si cambias como el nombre del odbc el nombre de usuario o cualquier opcion que hayas guardad para la bd simplemente lo haces en el archivo sin tener que volver a compilar el programa
puedes guardar mas datos en el archivo ini, el tipo de cambio por ejemplo, la impresora predeterminada,el directorio donde guardas los datos, etc
Saludos espero que te sirva
-
Saludos...
El archivo .ini (en este caso esta ubicado: C:\PROFILE.INI) tendría esta configuración como ejemplo...tienes una cabecera de control encerrada entre corchetes( [] ) y una etiqueta de control con el valor que corresponda...
[Pc]
Name=Servidor
...
La lectura del archivo se maneja de esta manera...
PC=UPPER(ProfileString("C:\PROFILE.INI", "Pc", "Name", ""))
en este caso busca el título "Pc" y la etiqueta Name...
IF PC = "" THEN
// Error de configuración.
close (w_principal_caja_externa)
close (w_seguridad_caja_externa)
END IF
// existe el perfil... despliego el nombre de la estación.
sle_estacion.Text=PC
...
espero que te ayude...
-
Disculpa que no agregué...
Yo lo uso como control de configuración de cuales estaciones tienen acceso al sistema, si creas esto para la conexión a la BD, tendrías que cambiar esa configuración EN TODAS LAS ESTACIONES si cambias algo para la conexión.
No te recomiendo que lo uses para el acceso a la bd por esta causa, imagina que tengas un sistema que lo accesen muchas estaciones...
En este caso yo lo usé para el acceso a un sistema de cajas de facturación, que nadie más lo pueda accesar sino las que yo he configurado como tal (seguridad), si alguien desde una estación (que no esté configurado el .ini) entra al sistema automáticamente se cierra la aplicación y el cliente no sabe porqué.
Se podría mandar un mensaje tal como "Error!, Sistema no configurado!...etc...
si se desea.
Saludos.
-
Yo lo uso como control de configuración de cuales estaciones tienen acceso al sistema, si creas esto para la conexión a la BD, tendrías que cambiar esa configuración EN TODAS LAS ESTACIONES si cambias algo para la conexión.
No te recomiendo que lo uses para el acceso a la bd por esta causa, imagina que tengas un sistema que lo accesen muchas estaciones...
y tambien se tendria que compilar de nuevo e instalar en TODAS LAS ESTACIONES si se cambia algo en la conexion :P lo cual resulta lo mismo
casi... porque si estas instalando en una empresa un sistema y por alguna razon hay que cambiar algo en la conexion (dsn,usuario... ) que pasa si ahi no tienes PB tienes que ir a tu oficina a compilarlo de nuevo? con la nueva modificacion a la conexion
:rolleyes:
Saludos
-
Saludos...
Yo lo hago así porque instalo la aplicación en el servidor en una carpeta compartida de solo lectura, entonces compilo y coloco los cambios en un solo sitio desde donde accesan las estaciones de trabajo a la aplicación... son metodologías que cada quien tiene... de paso con acceso remoto no tengo que ir al sitio sino que actualizo desde donde estoy o envío los cambios por mail al administrador.
-
En ese punto tienes razon B) :smartass:
Saludos