Asunto: Como crear un origen de datos ODBC al finalizar aplicacion?
Hola a todos nuevamente!
Mi pregunta es la siguiente:
Una vez terminada una aplicacion en delphi con conexion a una base de datos usando ODBC (ya sea usando Mysql o firebird o cualquier base de datos con ODBC), cuando se la entrego a un cliente por ejemplo, como se hace para que se cree el origen de datos automaticamente, sin que el usuario tenga que intervenir en este proceso?
Antes tenia que ir a panel de control/origenes de datos y crearlo, pero si quiero hacer una aplicacion de uso masivo y distribuirla a traves de internet, seguramente habran muchos usuarios que no sepan hacer el origen de datos.
Bueno esa es mi duda.
Desde ya muchas gracias! Saludos!!
Publicado:
Lun Oct 24, 2011 6:26 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Como crear un origen de datos ODBC al finalizar aplicaci
Anuncios
agustinbus escribió:
Hola a todos nuevamente!
Mi pregunta es la siguiente:
Una vez terminada una aplicacion en delphi con conexion a una base de datos usando ODBC (ya sea usando Mysql o firebird o cualquier base de datos con ODBC), cuando se la entrego a un cliente por ejemplo, como se hace para que se cree el origen de datos automaticamente, sin que el usuario tenga que intervenir en este proceso?
Antes tenia que ir a panel de control/origenes de datos y crearlo, pero si quiero hacer una aplicacion de uso masivo y distribuirla a traves de internet, seguramente habran muchos usuarios que no sepan hacer el origen de datos.
Bueno esa es mi duda.
Desde ya muchas gracias! Saludos!!
Tienes varias posibilidades, te comentamos algunas:
1. Si usas algún instalador automático, éste suele llevar herramientas para crear dichos orígenes de datos de forma automática. Uno de los más potentes es InstallShield, aunque existen otros.
2. La otra posibilidad, más casera, es que tú mismo generes el ODBC de forma manual (como hasta ahora desde el Panel de Control) y luego veas las claves de registro que en realidad crea para ese origen de datos en el Regedit (Registro de configuraciones de Windows). Una vez que tengas claras las claves del regedit, deberás generarlas con tu programa en Delphi.
Por ejemplo, para un ODBC de Oracle 10g, las claves del regedit se crean en:
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI
En la ruta anterior suelen estar todos los orígenes de datos del equipo (sean del motor de bases de datos que sean). Si buscas el que has creado, por ejemplo "bdoracle", dentro verás las claves necesarias. Como te decimos, para un origen de datos ODBC de Oracle, en nuestro caso ha creado:
Una vez que tengas las claves, tendrás que realizar un procedimiento en Delphi para crearlas en el PC donde se ejecute tu aplicación. Por ejemplo:
Código:
unit UnidadCrearODBC;
interface
uses
registry, ............
..........
procedure TformCrearODBC.btCrearODBCClick(Sender: TObject);
var
registro : TRegistry;
begin
//Si no existe la "carpeta" o clave del ODBC indicado en el formulario
//la creamos
registro := TRegistry.Create;
registro.RootKey := HKEY_LOCAL_MACHINE;
if registro.OpenKey ('SOFTWARE\ODBC\ODBC.INI', false) then
registro.CreateKey(txtNombreODBC.Text);
registro.Destroy;
registro := TRegistry.create;
registro.RootKey := HKEY_LOCAL_MACHINE;
if registro.OpenKey ('SOFTWARE\ODBC\ODBC.INI\' + txtNombreODBC.Text, false) then
begin
//indicamos cómo crear algunos de los valores, como ejemplo
registro.WriteBool('DisableRULEHint', True);
registro.WriteInteger('FetchBufferSize', 64000);
//los valores variables como contraseña, servidor y usuario
//los cogerán de cuadros de texto del formulario
registro.WriteString('Password', txtContrasena.Text);
registro.WriteString('ServerName', txtServidor.Text);
registro.WriteString('UserID', txtUsuario.Text);
//crear el resto, si tiene subclaves, crearlas también
....................
end;
registro.Destroy;
end;
El inconveniente de hacerlo manual te surgirá con aquellos orígenes de datos que requieran del controlador instalado. Por ejemplo, Oracle requiere de Oracle Client, aunque crees el origen de datos como te hemos indicando anteriormente (en el regedit), si no existen las librerías para la conexión no te funcionará. Esto que hemos explicado es útil, por ejemplo, para orígenes de datos que ya incorpora el propio Windows de forma predeterminada (sin instalar nada), como por ejemplo Access. Además, dependiendo de los equipos si son Windows XP, Windows Vista, Windows 7 podrán tener por defecto unos u otros drivers ya instalados.
Publicado:
Jue Nov 17, 2011 9:05 am
agustinbus Excelente usuario
Registrado: Apr 17, 2009 Mensajes: 38
Asunto:
Siempre usted dando fantásticas respuestas. Valió la pena esperar!! Le agradezco de corazón esta información!!! Saludos!
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A