procedure TForm1.Button1Click(Sender: TObject);
var
  registerTemp:TRegistry;
  bData:array[0..0] of byte;
begin
  registerTemp:= TRegistry.Create;
  with registerTemp do
  begin
    RootKey:=HKEY_LOCAL_MACHINE; //设置根键值为HKEY_LOCAL_MACHINE
        //找到Software\ODBC\ODBC.INI\ODBC Data Sources
    if OpenKey('Software\ODBC\ODBC.INI \ODBC Data Sources',True) then
    begin
      //注册一个DSN名称
      WriteString( 'bfs', 'Microsoft ODBC for Oracle' );    end
    else
    begin
      //创建键值失败
      memo1.lines.add('增加ODBC数据源失败');
      exit;
    end;
    CloseKey;
    //找到或创建Software\ODBC\ODBC.INI \MyAccess,写入DSN配置信息
    if OpenKey('Software\ODBC\ODBC.INI \bfs',True) then
    begin
      WriteString( 'Driver', 'C:\WINDOWS\System32\msorcl32.dll' );//驱动程序DLL文件
      WriteString( 'GuessTheColDef', '0' ); //驱动程序标识
      WriteString( 'Res', '0' ); //Filter依据
      WriteString( 'Server', 'ora' ); //支持的事务操作数目
      WriteString( 'UID', 'bfs' );//用户名称
      WriteString( 'StdDayOfWeek', '1' ); //驱动程序标识
      WriteString( 'StripTrailingZero', '0'); //Filter依据
      WriteString( 'SynonymColumns', '1' ); //支持的事务操作数目
      WriteString( 'BufferSize', '65535' );//用户名称
    end
    else //创建键值失败
    begin
      memo1.lines.add('增加ODBC数据源失败');
      exit;
   end;
end;
end;