Ver Mensaje Individual
  #1  
Antiguo 28-09-2005
meosre meosre is offline
Miembro
 
Registrado: sep 2005
Posts: 21
Reputación: 0
meosre Va por buen camino
Creacion de DSN con ODBC para MySql en tiempo de ejecucion

Necesito en tiempo de ejecucion crear un DSN para una bd MySql en tiempo de ejecucion, consegui este codigo pero para access y no se que tengo que cambiar, me gustaria que me ayudaran, gracias.

Código Delphi [-]
 procedure TForm1.Button1Click(Sender: TObject);
 var
   R1:TRegistry;
 begin
   R1:=TRegistry.create;
   R1.RootKey := HKEY_LOCAL_MACHINE;
   if R1.OpenKey('SOFTWARE\ODBC\ODBC.INI',FALSE)
    then R1.CreateKey(nombre.Text);
   R1.Destroy;
   R1:=TRegistry.create;
   R1.RootKey := HKEY_LOCAL_MACHINE;
   if R1.OpenKey('SOFTWARE\ODBC\ODBC.INI\'+nombre.Text,FALSE) then
   begin
     R1.WriteString('DBQ',Path.Text);
     R1.WriteString('Driver',PathDll.Text);
     R1.WriteInteger('DriverId', 25);
     R1.WriteString('FIL','MS Access;');
     R1.WriteString('PWD',clave.text);
     R1.WriteInteger('SafeTransactions', 0);
     R1.WriteString('UID',usr.text);
     R1.CreateKey('Engines');
     R1.Destroy;
     R1:=TRegistry.create;
     R1.RootKey := HKEY_LOCAL_MACHINE;
     if R1.OpenKey('SOFTWARE\ODBC\ODBC.INI\'+nombre.Text+'\Engines',FALSE) then
     begin
       R1.CreateKey('Jet');
       R1.Destroy;
       R1:=TRegistry.create;
       R1.RootKey := HKEY_LOCAL_MACHINE;
       if R1.OpenKey('SOFTWARE\ODBC\ODBC.INI\'+nombre.Text+'\Engines\Jet',FALSE) then
       begin
         R1.WriteString('ImplicitCommitSync','');
         R1.WriteInteger('MaxBufferSize', 2048);
         R1.WriteInteger('PageTimeout', 5);
         R1.WriteInteger('Threads', 3);
         R1.WriteString('UserCommitSync','Yes');
         R1.Destroy;
         R1:=TRegistry.create;
         R1.RootKey := HKEY_LOCAL_MACHINE;
         if R1.OpenKey('SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources',FALSE) then
         begin
           R1.WriteString(nombre.text, driver2.text);
           R1.Destroy;
           ShowMessage(' ALIAS CREADO. ');
         end;
       end;
     end;
   end;
 end;

Última edición por dec fecha: 28-09-2005 a las 08:15:45. Razón: ¡¡Encerrad el código fuente entre las etiquetas [DELPHI] ... [/DELPHI]!!
Responder Con Cita