2013-04-04 3 views
5

में फायरबर्ड एम्बेडेड डेटाबेस बनाने में त्रुटि से इनकार कर दिया है सबसे पहले मैं 100% सुनिश्चित नहीं हूं कि मैं ओएसएक्स के तहत एम्बेडेड फायरबर्ड क्लाइंट का उपयोग कर रहा हूं। Firebirdsql.org से डाउनलोड की गई इंस्टॉल फ़ाइल में कहा गया है कि इसमें क्लासिक, सुपरक्लासिक & एम्बेडेड है। विंडोज़ संस्करण के विपरीत पैकेज में समर्पित एम्बेडेड लाइब्रेरी फ़ाइल प्रतीत नहीं होती है। मैंने माना है कि libfbclient.dylib (मेरे उपयोग के लिए libgds.dylib का नाम बदलकर) एम्बेडेड के रूप में उपयोग किया जा सकता है। अगर मैं गलत हूं तो मुझे लगता है कि समस्या है। क्या कोई मुझे बता सकता है कि मुझे एम्बेडेड डाइलिब फ़ाइल कहां मिलती है?अनुमति ने ओएसएक्स

यदि libfbclient.dylib एम्बेडेड उपयोग के लिए भी है तो मेरा प्रश्न बनी हुई है। जब मैं पहली बार डेटाबेस फ़ाइल बनाने का प्रयास करता हूं तो यह "अनुमति अस्वीकृत" के साथ विफल रहता है। मैं इस फाइल को उपयोगकर्ता दस्तावेज़ फ़ोल्डर में बनाने की कोशिश कर रहा हूं। मैं कनेक्ट करने के लिए डेल्फी में इंटरबेस एक्सप्रेस घटक का उपयोग कर रहा हूं। इसने विंडोज वातावरण के तहत वर्षों से मुझे अच्छी तरह से सेवा दी है।

पूर्ण त्रुटि संदेश है ...
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

क्या आप वाकई एक सामान्य फायरबर्ड सर्वर से कनेक्ट नहीं हो रहे हैं? –

+0

जैसा कि मैंने कहा था कि मुझे नहीं पता कि मैं जिस पुस्तकालय का उपयोग कर रहा हूं वह एम्बेडेड इंजन के रूप में काम करता है लेकिन मुझे कोई विकल्प नहीं मिल रहा है (विंडोज़ इंस्टॉल के विपरीत)। – Martin

उत्तर

2

हल! इस दस्तावेज़ को दोबारा पढ़ने के बाद मुझे कई बार मिला: http://www.ibphoenix.com/resources/documents/how_to/doc_103

ओएसएक्स के तहत एम्बेडेड लाइब्रेरी विंडोज़ में एक्सई कहलाता है। /Library/Framworks/Firebird.framework फ़ोल्डर में एक निष्पादन योग्य है जिसे "फायरबर्ड" कहा जाता है। मुख्य पाठ जिसे मैं समझ में नहीं आया था, यह है कि "फायरबर्ड फ़ाइल का नाम libfbembed.dylib में बदल दिया गया है"। मेरे विंडोज़ अनुभव मुझे ट्रिप कर रहे थे क्योंकि खिड़कियों में आप कभी भी .exe को .de का नाम नहीं देंगे। मैं नहीं जानता कि विंडोज़ में यह संभव है लेकिन मैंने कभी इसका झुंड नहीं लिया है।

ऐसा करने के लिए मुझे कुछ और छोटी चीजें थीं, इसलिए यहां पूर्ण निर्देश दिए गए हैं।

1) "Firebird" {} निष्पादन लिंक

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

2 /usr/local/lib/libgds.dylib करने के लिए) firebird.msg फ़ाइल लिंक इतना है कि यह/usr/स्थानीय में प्रकट होता है/lib फ़ोल्डर

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

3)/usr/स्थानीय/lib फ़ोल्डर में "security2.fdb" कॉपी करें और अपनी अनुमतियों को बदलने लेखन पहुँच देने के लिए। यह इस फ़ाइल के लिए एक लिंक बनाने के लिए काम नहीं करता है।

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