Un lugar de encuentro para los programadores de habla hispana

Un lugar de encuentro para los programadores de habla hispana

Buscar

Entrar

Puedes acceder utilizando tu cuenta de usuario del foro.

Si no dispone de cuenta, puede crear una accediendo al formulario de registro del foro.



Crear un DSN de sistema desde Delphi Imprimir
Ideas - Delphi

Ejemplo de creación de un DSN para Access:

 
procedure TForm1.Button1Click(Sender: TObject);
var
 Reg:TRegistry;
 Path:String;
begin
  Path:='c:\Neptuno.mdb';
  Reg:=TRegistry.Create;
  Try
   Reg.RootKey:=HKEY_LOCAL_MACHINE;
   Reg.OpenKey('\Software\ODBC\ODBC.INI\jose',True);
   Reg.WriteString('DBQ',Path);
   Reg.WriteString('Driver','c:\windows\system\odbcjt32.dll');
   Reg.WriteInteger('DriverId',25);
   Reg.WriteString('FIL','MS Access;');
   Reg.WriteInteger('SafeTransactions',0);
   Reg.WriteString('UID','');
   Reg.OpenKey('\Software\ODBC\ODBC.INI\jose\Engines\Jet',True);
   Reg.WriteString('ImplicitCommitSync','');
   Reg.WriteInteger('MaxBufferSize',2048);
   Reg.WriteInteger('PageTimeout',5);
   Reg.WriteInteger('Threads',3);
   Reg.WriteString('UserCommitSync','Yes');
   Reg.OpenKey('\Software\ODBC\ODBC.INI\ODBC Data Sources',True);
   Reg.WriteString('jose','Microsoft Access Driver (*.mdb)');
  finally
   Reg.Free;
  end;
 end;
 
 

Matizaciones por Julio García

 
Reg.WriteString('Driver','c:\windows\system\odbcjt32.dll');
 
 

Se está presuponiendo que la ruta al directorio system es siempre esa, cuando no tiene por qué serlo.

El driver necesario, en este caso odbcjt32.dll al tratarse de Access, se encuentra en el directorio de sistema de Windows. La ruta a este directorio se puede obtener con la función GetSystemDirectory.

El código mostrado puede utilizarse para crear un DSN de usuario con sólo cambiar:

 
Reg.RootKey:=HKEY_LOCAL_MACHINE por Reg.RootKey:=HKEY_CURRENT_USER
 
 
Comentarios (0)
Para escribir un comentario debes estar registrado