Firebird połączenie z bazą - wielkość liter

0

Witam, mam problem, daje użytkownikowi możliwość podania lokalizacji bazy danych, baza może być trzymana albo na linuxie albo na windowsie. Problem jest taki, że o ile chodzi o windowsa to mogę zajrzeć pod wskazanie miejsce i sprawdzić czy rozszerzenie pliku jest pisane z małej czy też wielkiej litery (.fdb, .FDB) niby pierdoła ale w connection stringu muszę podać poprawną wielkość. Moje pytanie, czy da się zmienić gdzieś w connection stringu, żeby nie zwracał uwagi na wielkość liter, jeżeli nie to jak pobrać informację o pliku z linuxa?

0

To tak nie działa. To po prostu "wina" Linuxa. Po prostu Linux jest case sensitive, Windows nie. Zatem pod Linuxem Firebird czyta taki plik jak mu przekazujesz w connection stringu. Jeśli to Linux to wielkość liter musi się zgadzać z tym jak jest w pliku.

Ja robię to tak, że podczas tworzenia bazy w programie nawet jak user poda małymi literami to zamieniam na wielkie i problem mam z głowy. Tak samo zapisuję w configu. Skuteczne rozwiązanie.

0

Tyle ze ja podpinam sie do isntniejacej bazy, a user nie podaje mi rozszerzenia (niestety musi tak byc) da sie jakos sprawdzic jakie pliki istnieja w katalogu czy mam probowac laczyc sie z wszystkimi mozliwosciami (.FDB, .fdb, .Fdb ...)

0
Georghinio napisał(a):

da sie jakos sprawdzic jakie pliki istnieja w katalogu czy mam probowac laczyc sie z wszystkimi mozliwosciami (.FDB, .fdb, .Fdb ...)
Niestety nie da się, przecież Firebird działa na poziomie sieciowym (chyba, że korzystamy z serwera lokalnego, wtedy nie ma problemu z zajrzeniem do katalogu baz danych). Tak więc bezpośredniego dostępu do plików bazy danych może w ogóle nie być. Jedyną możliwością w pełni uniwersalną jest sprawdzenie wszystkich możliwości poprzez łączenie się z bazą.

Swoją drogą bardzo nieroztropne rozwiązanie z tym sztywnym rozszerzeniem. A co jak admin serwera zechce użyć aliasów na bazy aby w ogóle ukryć miejsce na serwerze gdzie one leżą? Alias może mieć nazwę:
MOJA_BAZA
i wtedy Twój program będzie miał problem...

0

Jeśli dla baz danych zostaną zdefiniowane aliasy, to w dalszym ciągu można do baz odwoływać się przez podanie nazwy pliku

http://wildcat.huzar.pl/serwis/pomoc/index.php?a=aliasy

BTW. Dzięki za pomoc

0

Tak to ja wiem, że się wtedy dalej można łączyć za pomocą nazwy pliku. Jednak czasem się zdarza, że admin serwera podaje tylko alias i koniec. Nie chce aby było wiadomo gdzie znajdują się pliki i koniec.

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