Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Dephi7] Automatyczne aliasy BDE

prymas76 05 Mar 2012 12:58 2999 4
  • #1 05 Mar 2012 12:58
    prymas76
    Poziom 8  

    Witam. Mam problem z aliasami bazy danych. Jak stworzyć w kodzie programu alias do bazy danych znajdującej się w katalogu programu aby baza uruchamiała się na innym komputerze bez ręcznego konfigurowania przez bde?

    0 4
  • #2 05 Mar 2012 13:33
    arnoldziq
    Moderator Programowanie

    Odwracasz kota ogonem.
    Aliasy służą do pisania kodu bazy danych, bez potrzeby zmiany kodu, w przypadku gdy baza znajdzie się w innej lokalizacji.
    Kod Delphi operuje na aliasie, który BDE "tłumaczy" na odpowiednią lokalizację bazy danych.
    Ale jeżeli koniecznie się uprzesz, to jest to możliwe.

    Kod: delphi
    Zaloguj się, aby zobaczyć kod


    Coś takiego powinno zadziałać. Oczywiście, zmień parametry na takie jakich używasz. Zmienna AliasDirectory, powinna zawierać katalog, w którym znajduje się Twoja aplikacja i baza danych.

    0
  • #3 06 Mar 2012 08:06
    prymas76
    Poziom 8  

    arnoldziq napisał:
    Odwracasz kota ogonem.
    Aliasy służą do pisania kodu bazy danych, bez potrzeby zmiany kodu, w przypadku gdy baza znajdzie się w innej lokalizacji.
    Kod Delphi operuje na aliasie, który BDE "tłumaczy" na odpowiednią lokalizację bazy danych.


    Dzięki wielkie :) Będę kombinował :) Może w temacie niezbyt jasno się wyraziłem ale chodzi mi o to aby po prostu katalog z moją bazą skopiować (taka najprostsza "instalka" :D ) do dowolnego folderu czy na tym czy na innym komputerze i aby on działał bez większych problemów. Gdy przeprowadziłem takową próbę to niestety pomimo zainstalowanego BDE na drugim komputerze baza i tak nie działała bo nie było ustawionego aliasu w BDE a automatycznie program tego nie zrobi. Skoro plik bazy danych ma być zawsze w folderze programu wiec uznałem że najlepiej na początku w programie zdefiniować alias który wskazywałby lokalizację bazy w folderze programu. No chyba że BDE konfiguracje aliasów zapisuje w rejestrze windows to mógłbym jeszcze pokombinować z wpisami do rejestru.

    0
  • #4 06 Mar 2012 09:44
    arnoldziq
    Moderator Programowanie

    Nie ma potrzeby kombinować :)
    Skoro Delphi, ma wszystkie narzędzia, do tworzenia aliasów, to po co grzebać w rejestrach?
    Wiesz, jak się nazywa plik bazy danych, prawda? Zrób tak, żeby główny program sprawdzał czy jest alias o danej nazwie, jeżeli jest, to łączysz się z bazą, jeżeli nie ma, to go tworzysz, na podstawie ścieżki, na której program EXE się znajduje... i masz załatwiony problem.

    Dodano po 1 [minuty]:

    prymas76 napisał:
    bo nie było ustawionego aliasu w BDE a automatycznie program tego nie zrobi.

    A właśnie, że zrobi :) Tylko trzeba go do tego zmusić.

    0
  • #5 06 Mar 2012 10:41
    prymas76
    Poziom 8  

    Może niedokładnie się wyrażam ale właśnie o to mi dokładnie chodzi.

    arnoldziq napisał:

    A właśnie, że zrobi :) Tylko trzeba go do tego zmusić.

    No sam z siebie, "z automatu" tego nie zrobi. Ale "pod przymusem" jak najbardziej, i do tego właśnie chcę go zmusić :D

    Powiem że działa doskonale :) A wygląda to tak:
    Kod: delphi
    Zaloguj się, aby zobaczyć kod


    Działa i po zmianie nazwy katalogu programu. Alias BDE podejrzany w BDE Administratorze nie ma zdefiniowanej ścieżki. I o to chyba chodziło :)

    0