2010-11-24 9 views
13

के साथ फ़ायरबर्ड त्रुटि "उपयोगकर्ता नाम और पासवर्ड परिभाषित नहीं किया गया है" मेरे पास डेल्फी 2006 और फ़ायरबर्ड 2.5 के साथ एक एप्लिकेशन है। कनेक्शन के लिए डेल्फी से इंटरबेस घटक का उपयोग करें।डेल्फी एप्लिकेशन

Statement failed, SQLSTATE = 28000 

Your user name and password are not defined. Ask your database administrator to set up a Firebird login.

: मैं डिजाइन समय में उपयोगकर्ता नाम, पासवर्ड टीसी, और काम ठीक से एक TIBDatabase की स्थापना, लेकिन जब मैं एक और पीसी में आवेदन चलाना चाहते हैं (पहले मैं उस पर Firebird 2.5 स्थापित), मैं इस त्रुटि प्राप्त

यह क्या है? मैं इसे कैसे हल कर सकता हूं?

उत्तर

14

संदेश स्पष्ट रूप से बताता है कि आप अपनी विकास मशीन में डिज़ाइन समय पर कनेक्ट करने के लिए उपयोग कर रहे उपयोगकर्ता नाम और पासवर्ड को डेटाबेस सर्वर के लिए मान्य नहीं हैं, जिसे आप अन्य मशीन से कनेक्ट करने का प्रयास कर रहे हैं (चलिए इसे उत्पादन कहते हैं) । आपके संदेश से ऐसा लगता है कि यह वही सर्वर नहीं है जिसे आप डिज़ाइन समय से कनेक्ट करते हैं।

मेरा सुझाव है कि आप इस समस्या का परीक्षण आसानी से टीआईबीडेटाबेस घटक पर लॉगिन करने के लिए करें ताकि यह कनेक्ट करने से पहले उपयोगकर्ता को प्रोपर क्रेडेंशियल्स के लिए पूछ सके। आप उस सर्वर के लिए किसी वैध उपयोगकर्ता नाम/पासवर्ड संयोजन का उपयोग करके कनेक्ट करने में सक्षम होंगे। डिफ़ॉल्ट उपयोगकर्ता नाम और पासवर्ड का उपयोग कर \ परीक्षण \ test.fdb: सुनिश्चित करें कि संयोजन मान्य हैं होने के लिए, कमांड

c:\test>isql test.fdb -u sysdba -p masterkey 

isql कमांड लाइन उपकरण का उपयोग कर कनेक्ट करने के लिए उदाहरण के लिए ग से कनेक्ट करेगा प्रयास करें। (फ़ायरबर्ड रूट निर्देशिका इस काम के लिए पथ पर्यावरण चर में होना चाहिए)

इसके अलावा, आप इस इंजन के लिए पासवर्ड समायोजित करने के लिए gsec कमांड लाइन टूल का उपयोग कर सकते हैं या आप उपयोगकर्ता बना सकते हैं और उस पर पासवर्ड बदल सकते हैं इससे कनेक्ट करने की कोशिश करने से पहले उत्पादन मशीन।

विंडोज़ पर, फ़ायरबर्ड डिफ़ॉल्ट sysdba पासवर्ड मास्टरकी है।

+4

+1 "फ़ायरबर्ड डिफ़ॉल्ट sysdba पासवर्ड मास्टरकी है।" :) – RBA

+2

फायरबर्ड पासवर्ड की लंबाई 8 अक्षरों तक सीमित है ... इसलिए मास्टरके आपको फायरबर्ड में लाने के लिए पर्याप्त है। यह इंटरबेस में मामला था, लेकिन मैंने कोशिश नहीं की है क्योंकि आईबी 6 – Nazar

+0

एक महान [चलना शुरू करना] [http://swinbrain.ict.swin.edu.au/wiki/Create_a_Firebird_Database) यहां है। –

0

यह त्रुटि इसलिए है क्योंकि फ़ायरबर्ड डीबी के लिए प्रमाण-पत्र डेटाबेस फ़ाइल में संग्रहीत नहीं है। यह फायरबर्ड सर्वर पर कॉन्फ़िगरेशन फ़ाइल में संग्रहीत है। यदि आप डीबी फ़ाइल पर प्रतिलिपि बनाते हैं, न कि पासवर्ड - तो आपके पास एक अलग पासवर्ड होगा।

उबंटू मशीनों तुम बाहर पासवर्ड और फ़ाइल में उपयोगकर्ता नाम पा सकते हैं पर, /etc/firebird/<version>/SYSDBA.password

यह कुछ की तरह लग रही होगी,

ISC_USER=sysdba 
ISC_PASSWORD="password" 

डेटाबेस फ़ाइल से कनेक्ट करने के वे प्रमाणीकरण का उपयोग करें।

+0

यह बिल्कुल सही नहीं है, पासवर्ड सहित उपयोगकर्ता खाता जानकारी सुरक्षा डेटाबेस के अंदर संग्रहीत की जाती है (अधिक हालिया संस्करणों में ऑपरेटिंग सिस्टम प्रमाणीकरण का उपयोग करने जैसे अधिक विकल्पों के साथ), लेकिन कॉन्फ़िगरेशन फ़ाइल में नहीं। – mghie

+1

मुझे आपके सुधार को समझ में नहीं आता है, conf फ़ाइल 'SYSDBA.password' में पासवर्ड * निश्चित रूप से * क्या 'isql' चाहता है। –

+0

सबसे पहले प्रश्न में उबंटू के साथ कोई संबंध नहीं है। दूसरा, प्रशासन स्क्रिप्ट के बजाय उस पासवर्ड को संशोधित करने के फायरबर्ड-मूल तरीकों का उपयोग करके, SYSDBA.password सामग्री को बदले बिना Ubuntu मशीन पर SYSDBA पासवर्ड को बदलना संभव है। – mghie

1

लिनक्स टर्मिनल से 'isql-fb' पर और डेटाबेस पर 'कनेक्ट' के बाद: - मैंने हटाएं (ड्रॉप) के बाद हल किया और 'SYSDBA' उपयोगकर्ता को फिर से बनाया।

अवलोकन: मैं '/ tmp/Firebird' पर फ़ाइल और फ़ोल्डर अनुमति के साथ समस्या नहीं थी और मैं 'isql-FB'

धन्यवाद खोलने के लिए 'sudo' या रूट का उपयोग करने की जरूरत है।

+0

'ड्रॉप उपयोगकर्ता 'SYSDBA';' 'उपयोगकर्ता बनाएं' SYSDBA 'पासवर्ड' मास्टरकी ';' 'वैकल्पिक उपयोगकर्ता' SYSDBA 'अनुदान व्यवस्थापक भूमिका; ' – Wellington1993