Skip to main content

AccessTr.neT


regeditte dsn ayarları oluşturma

regeditte dsn ayarları oluşturma

Çözüldü #1
iyi akşamlar
be eklediğim kod delphi için
otomatik ODBC bağlantısı yapmak için
bunu accessda yapmam lazım

Kod:
procedure TDTM_MAIN.DTM_MAINCreate(Sender: TObject);
    var
      Reg: TRegistry;
      VAR_ETIS_DIZINI:string;
    begin
      VAR_EXE_VERSIYON:='6.0';
      DTB_ETIS.LoginPrompt:=True;

      VAR_PROGRAM_DIZINI := ExtractFilePath(Application.ExeName);
      VAR_ETIS_DIZINI:=Copy(VAR_PROGRAM_DIZINI,1,Pos('\PROGRAMS\',Uppercase(VAR_PROGRAM_DIZINI)));//Programin ana dizini bulunuyor....

      // Etis dsn i kontorl ediliyor yoksa olusturuluyor
      Reg := TRegistry.Create;
      try
        Reg.RootKey:=HKEY_CURRENT_USER;
        if not Reg.OpenKey('Software\ODBC\ODBC.INI\Etis',False) and DirectoryExists(VAR_ETIS_DIZINI+'ASA\Win32\') then
            begin
              Reg.OpenKey('Software\ODBC\ODBC.INI\Etis',True);
              Reg.WriteString('AutoStop','YES');
              Reg.WriteString('Delphi','Yes');
              Reg.WriteString('DatabaseFile',VAR_ETIS_DIZINI+'Databases\Etis.db');
              Reg.WriteString('Driver',VAR_ETIS_DIZINI+'ASA\Win32\dbodbc8.dll');
              Reg.WriteString('Integrated','NO');
            end;
      finally
        Reg.CloseKey;
        if not   Reg.OpenKey('Software\ODBC\ODBC.INI\ODBC Data Sources',True) then
          ShowMessage('Bilgisayarinizin ODBC sisteminde problem var...')
        else
        begin
          Reg.WriteString('Etis','Adaptive Server Anywhere 8.0');
        end;
        Reg.CloseKey;
        Reg.Free;
      end;
    end;

@benbendedeilem
Cevapla
Çözüldü #2
şöylede açıklama yapmış
-----
MySQL icin nasil yapacaginizi tam olarak bilemiyorum ama bunu nasil ogreneceginizin yontemini biliyorum. Soyle ki:

Kendi makinanizda bir DSN vardir zaten. Makinanizda Regedit ile Registry'ye girin. HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources altinda sizin ODBC DSN'iniz ile ilgili deger oldugunu goreceksiniz...
ayrica DSN adinin Etis oldugunu varsayarsak ayrica HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\Etis isimli bir key oldugunu da goreceksiniz ve o key'in icinde sizin ODBC DSN'deki parametrelerin degerlerinin var oldugunu goreceksiniz.

İster programinizin kurulumu sirasinda kurulum programi tarafindan isterseniz Delphi icinden kodla bu degerleri eklediginiz taktirde ODBC DSN'ininiz hazir olacaktir.
@benbendedeilem
Cevapla
Çözüldü #3
Basit bir örnek hazırladım regeditte Etis dizini ve alt dizinler yok ise ekleniyor.

ReadRegistry "HKCU", "Software\ODBC\ODBC.INI\Etis", "serino", "S", "", Serial
Me.Metin1 = Serial

If Me.Metin1 = "" Then

WriteRegistry "HKCU", "Software\ODBC\ODBC.INI\Etis", "AutoStop", "S", "Yes"
WriteRegistry "HKCU", "Software\ODBC\ODBC.INI\Etis", "Delphi", "S", "Yes"
WriteRegistry "HKCU", "Software\ODBC\ODBC.INI\Etis", "DatabaseFile", "S", CurrentProject.Path & "\Databases\Etis.db"
WriteRegistry "HKCU", "Software\ODBC\ODBC.INI\Etis", "Driver", "S", CurrentProject.Path & "\ASA\Win32\dbodbc8.dll"
WriteRegistry "HKCU", "Software\ODBC\ODBC.INI\Etis", "Integrated", "S", "No"
End If

regeditdeneme.rar
Cevapla
Çözüldü #4
teşekkürler
@benbendedeilem
Cevapla
#5
Otomatik ODBC bağlantısı için
@benbendedeilem
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task