Bazy danych

0

Mam dwa pytania dotyczące baz danych:

  1. Jak z poziomu programu (lub używając STANDARDOWYCH komponentów) założyć nową baze danych, tzn. ustawić jej alias, ścieżkę ? Podobą rzecz można zrobić bez trudu w SQLExplorer, ale ja chcę, żeby to robił mój program, np. przy instalacji.

  2. Jak na komputerze bez Delphi czy Buildera zainstalować i zarejestrować sterowniki BDE (bez używania InstallShield i podobnych)? Wiem, że Borland umożliwia wykorzystanie pliku BDEINST.DLL ale jak to zrobić?

0
  1. Jak z poziomu programu (lub używając STANDARDOWYCH komponentów) założyć nową baze danych

A co rozumiesz przez standardowe? Z jakiej wersji Delphi?
W każdym razie aliasy najwygodniej chyba ustawić za pomocą metody z obiektu Session (AddAlias AddStandardAlias), a utworzyć bazę można np. używając SQL w TQuery albo przez FieldDefs w TTable.

0

Chodziło mi o PODSTAWOWE komponenty tzn TDatabase itd., a nie np dbExpress, czy InterBase.

0

hm... jezeli chodzi o BDE to domyslam sie ze konkretnie masz na mysli aliasy. jezeli moje dymysly ida w dobra strone to jest sposob - wystarczy w miesce nazwy sterownika podac sciezke do katalogu, w ktorym znajduja sie twoje pliki bazodanowe, w miejscu nazwy tabeli wswietli ci sie lista plikow (tabel), ktore obecnie znajduja sie w tym katalogu, ktory to podawales...

pozdro.

0

Można też zamiast BDE użyć komponentów ADO. Wtedy nie musi być zainstalowane BDE :-) , a dostęp do bazy uzyskuje się przez podanie ścieżki dostępu.

0

Mam dwa pytania dotyczące baz danych:

  1. Jak z poziomu programu (lub używając STANDARDOWYCH komponentów) założyć nową baze danych, tzn. ustawić jej alias, ścieżkę ? Podobą rzecz można zrobić bez trudu w SQLExplorer, ale ja chcę, żeby to robił mój program, np. przy instalacji.

  2. Jak na komputerze bez Delphi czy Buildera zainstalować i zarejestrować sterowniki BDE (bez używania InstallShield i podobnych)? Wiem, że Borland umożliwia wykorzystanie pliku BDEINST.DLL ale jak to zrobić?

Ad 1.

procedure TForm1.Button1Click(Sender: TObject);
var
  AliasParams: TStringList;
begin
  AliasParams := TStringList.Create;
  try
    with AliasParams do begin
      Add('Default Driver=Paradox');
      Add('Type=Standard');
      Add('PATH=C:\sciezka'); 
    end;
    Session.ModifyAlias('nazwaaliasu',AliasParams) ;
    Session.Close;
  finally
    AliasParams.Free;
  end;
end;

jeśli musisz też zmieniać net dir (który standardowo jest C:)

to zrób to tak

...
AliasParams.Add('Net Dir=C:\sciezka');
session.ModifyDriver('paradox',AliasParams);
Session.SaveConfigFile ;
...
żeby zadziałało to żadna baza nie może być otwarta (dotyczy również innych programów) .

Ad 2.

plik BDEINST.DLL rejestrujemy wydając polecenie :
regsvr32.exe BDEINST.DLL

ale nigdy tego nie próbowałem, i jest to niezgodne z licencją.

0

OK. Bazę danych i tabele potrafię już zrobić (i to inaczej niż mi powiedział mirekpil), bo np.dla nowej bazy używam metody

TSession.AddStandardAlias(const Name, Path, DefaultDriver: String);

Ale bardziej zależy mi na instalce BDE. I, powtarzam się już tutaj, spotkałem się z opinią, że Borland UMOŻLIWIA wykorzystanie pliku BDEINST.DLL, włącznie z zarejestrowaniem jej w systemie, tzn. wykonanie polecenia regserv32 na tym pliku jest legalne.

0

WOW. I tak sam sobie odpowiem na drugie moje pytanie :).
Otóż znalazłem stronkę

http://membres.lycos.fr/tothpaul/usdelphi.php3

na której jest taki fajny link BDEInstall i pod nim znajdują się źródła programów Install i Uninstall oraz przykładowego programu, a także dokładny howto.txt z opisem krok po kroku jak tego instalatora i deinstalatora skompilować i używać.

Jeszcze go nie sprawdzałem, ale dzisiaj to zrobie i poinformuję o skutkach :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1