2008-08-15 11 views
17

में पोर्ट नंबर निर्दिष्ट करें, मैं MySQL डीबी सर्वर से बात करने के लिए Emacs के SQL इंटरैक्टिव मोड का उपयोग कर रहा हूं और इसका आनंद लेने के लिए प्राप्त हुआ हूं। एक डेवलपर ने एक नए गैर-डिफ़ॉल्ट पोर्ट नंबर पर एक और डीबी स्थापित किया है, लेकिन मुझे नहीं पता कि sql-mysql का उपयोग करके इसे कैसे एक्सेस किया जाए।Emacs sql-mysql

जब मैं किसी डेटाबेस से कनेक्ट करने का प्रयास कर रहा हूं तो मैं पोर्ट नंबर निर्दिष्ट कैसे करूं?

यह बेहतर होगा अगर Emacs मुझे पोर्ट नंबर के लिए संकेत दे और अगर मैं निर्दिष्ट नहीं करता तो डिफ़ॉल्ट का उपयोग करें। उसमें से कोई भी संभावना है?

उत्तर

10

sql.el फ़ाइल के माध्यम से खुदाई करने के बाद, मुझे एक चर मिला जो मुझे कनेक्शन बनाने का प्रयास करते समय पोर्ट निर्दिष्ट करने की अनुमति देता है।

यह विकल्प जीएनयू Emacs 24.1 जोड़ा गया था।

एसक्यूएल-mysql-प्रवेश-पैरामीटर

लॉगिन MySQL से कनेक्ट करने के लिए आवश्यक मानकों की सूची।

मैं अपने Emacs init फ़ाइल को यह कहा:

(setq sql-mysql-login-params (append sql-mysql-login-params '(port))) 

डिफ़ॉल्ट पोर्ट है 0. आप डिफ़ॉल्ट MySQL बंदरगाह के लिए कि सेट करना चाहते हैं तो आप sql-port

(setq sql-port 3306) ;; default MySQL port 
अनुकूलित कर सकते हैं

जीएनयू Emacs 24.1 में सभी लोकप्रिय आरडीएमएस सिस्टम के लिए sql-*-login-params परिवर्तनीय है। sql-port का उपयोग MySQL और PostreSQL

+1

दोनों के लिए किया जाता है! कुछ नोट्स: डिफ़ॉल्ट पोर्ट निर्दिष्ट करने के लिए आप '(ऐड-टू-लिस्ट' एसक्यूएल-पोस्टग्रेस-लॉगिन-पैराम्स '(पोर्ट: डिफ़ॉल्ट 5432) जैसे निर्माण का उपयोग कर सकते हैं) '(' डिफ़ॉल्ट 'टैग नोट करें)। और आपको 'ऐड-टू-लिस्ट' से पहले '(आवश्यकता 'एसक्यूएल)' जोड़ना चाहिए, अन्यथा आपको त्रुटि मिलती है" चर के रूप में प्रतीक का मान शून्य है: sql-mysql-login-params " – seriyPS

+0

@seriyPS धन्यवाद! ध्यान दें कि आप इसे '(साथ-eval-after-load "sql" 'में भी लपेट सकते हैं ... जो तब होगा जब' sql' पैकेज वास्तव में लोड होता है तो कोड निष्पादित करेगा –

8
(setq sql-mysql-options (list "-P <port number>")) 
5

मैं का उपयोग कर विकल्प पाया:

M-x customize-group 
SQL 

एक सेटिंग लेबल शामिल है कि:

Mysql Options: 

आप विकल्प सेट और इसे बचाने के लिए है, वहाँ हो जाएगा एक नई लाइन को जोड़ा गया आपके .emacs:

(custom-set-variables 
'(sql-mysql-options (quote ("-P ???")))) 

(जाहिर है, आपको वास्तविक पोर्ट नंबर का उपयोग करना चाहिए।)

मैं XEmacs का उपयोग करता हूं, इसलिए आपका माइलेज भिन्न हो सकता है।