2013-04-04 10 views
5

Po pierwsze, nie jestem w 100% pewien, czy korzystam z wbudowanego klienta firebird w OSX. Plik instalacyjny pobrany z witryny firebirdsql.org stwierdza, że ​​zawiera klasyczne, superklasyczne osadzone &. W przeciwieństwie do wersji Windows nie ma w pakiecie dedykowanego pliku biblioteki osadzonej. Założono, że libfbclient.dylib (przemianowany libgds.dylib do mojego użytku) może być używany jako osadzony. Jeśli się mylę, to myślę, że to jest problem. Czy ktoś może mi powiedzieć, skąd czerpię wbudowany plik dylib?Błąd odmowy uprawnień podczas tworzenia wbudowanej bazy danych Firebird w OSX

Jeśli libfbclient.dylib jest również wbudowany, to moje pytanie pozostaje. Kiedy próbuję utworzyć plik bazy danych po raz pierwszy, kończy się on niepowodzeniem z "Odmowa uprawnień". Próbuję utworzyć ten plik w folderze dokumentów użytkowników. Używam komponentów Interbase Express w Delphi do połączenia. To mi dobrze służyło przez lata w środowisku okien.

Pełny komunikat o błędzie ...
Exception class EIBInterBaseError with message 'I/O error during "open O_CREAT" operation for file '/Users/martin/Documents/LightFactoryShows/default.fdb" Error while trying to create file Permission denied'

+0

Czy jesteś pewien, że nie łączysz się z normalnym serwerem Firebird? –

+0

Jak już powiedziałem, nie wiem, czy biblioteka, której używam działa jako wbudowany silnik, ale nie mogę znaleźć alternatywy (w przeciwieństwie do instalacji Windowsa). – Martin

Odpowiedz

2

rozwiązany! Po kilkakrotnym ponownym przeczytaniu tego dokumentu w końcu go otrzymałem: http://www.ibphoenix.com/resources/documents/how_to/doc_103

Wbudowana biblioteka pod OSX jest taka sama jak nazwa pliku exe w oknach. W folderze /Library/Framworks/Firebird.framework znajduje się plik wykonywalny o nazwie "Firebird". Kluczowy tekst, którego nie zrozumiałem, to "zmieniono nazwę pliku Firebird na libfbembed.dylib". Moje doświadczenie w Windows potknęło mnie, ponieważ w Windows nigdy nie zmieniłbyś nazwy pliku .exe na .dll. Nie wiem, czy to możliwe w oknach, ale nigdy nie miałem stada.

Było kilka drobniejszych rzeczy, które musiałem zrobić, więc tutaj są pełne instrukcje.

1) link "Firebird" {} wykonywalny do /usr/local/lib/libgds.dylib

ln -s /Library/Frameworks/Firebird.framework/Firebird /usr/local/lib/libgds.dylib 

2) Link plik firebird.msg tak, że pojawia się w katalogu/usr/local/lib

ln -s /Library/Frameworks/Firebird.framework/Versions/A/Resources/English.lproj/var/firebird.msg /usr/local/lib/firebird.msg 

3) Skopiuj "security2.fdb" do katalogu/usr/local/lib i zmienić swoje uprawnienia w celu umożliwienia dostępu do zapisu. Nie działa tworzenie linku do tego pliku.

cp /Library/Frameworks/Firebird.framework/Versions/A/Resources/English.lproj/var/security2.fdb /usr/local/lib 
chmod 777 /usr/local/lib/security2.fdb. 
Powiązane problemy