2010-06-18 10 views
5

क्या मेरे रूबी कनेक्ट होने पर डेटाबेस कनेक्शन स्ट्रिंग को पुनर्प्राप्त करने के कोई तरीके हैं? मैं क्या प्राप्त करना चाहते हैं है:रेल पर रूबी - कनेक्शन तारों को कैसे पुनर्प्राप्त करें

1) जहां गहरे लाल रंग का 2 जुड़ा हुआ है डेटाबेस नाम) SQL सर्वर के उपयोगकर्ता नाम 3) एसक्यूएल सर्वर 4) सर्वर नाम

मैं चाहता हूँ की पासवर्ड सत्र चर में इसे स्टोर करने के लिए।

(I'am एमएस एसक्यूएल सर्वर का उपयोग कर।)

कृपया मदद! धन्यवाद!

+0

मैं यह भी नहीं पूछ रहा हूं कि आप इन्हें सत्र चर में क्यों स्टोर करना चाहते हैं। ठीक। आप इन्हें सत्र में क्यों स्टोर करना चाहते हैं? – theIV

+0

क्योंकि मुझे एक CGI एप्लिकेशन कॉल करने की आवश्यकता है, और इस CGI को डेटाबेस से कनेक्ट करने की आवश्यकता है जहां मेरी रूबी कनेक्ट है। ध्यान दें कि प्रत्येक क्लाइंट के पास अलग-अलग कनेक्शन स्ट्रिंग होते हैं, इसलिए सीजीआई एप्लिकेशन की कनेक्शन स्ट्रिंग रूबी कनेक्शन स्ट्रिंग के आधार पर गतिशील होनी चाहिए। आशा है कि आप इस के साथ मेरी मदद कर सकते हैं। धन्यवाद – Jett

उत्तर

0

ये मान सभी config/database.yml फ़ाइल में संग्रहीत हैं, लेकिन AFAIK आप इन मानों को अपने नियंत्रक के भीतर से चर के रूप में एक्सेस नहीं कर सकते हैं।

+0

आपका ऐप config/database.yml फ़ाइल को पढ़/समझ सकता है। इसके बाद यह सारी जानकारी होगी जैसा कि वह कामना करता था। –

0

डेटाबेस: ActiveRecord::Base.connection.current_database

आपको निम्न के साथ कुछ फैंसी Regexs कर सकता है:

ActiveRecord::Base.connection.inspect 

लेकिन हाँ, यह एक भयानक विचार है।

+0

ActiveRecord :: Base.connection.inspect का उपयोग करते हुए उपयोगकर्ता नाम और पासवर्ड दिखाता है लेकिन मुझे regexs में समस्याएं आ रही हैं, मैं केवल पासवर्ड ही नहीं कह सकता केवल – Jett

5

आप गुण इस तरह से अपनी database.yaml में वर्णित के सभी का उपयोग कर सकते हैं: मैं ActiveRecord::Base.connection_config जो ActiveRecord 3.

+0

यह मेरे लिए पूरी तरह से काम करता है। मुझे एक रेक कार्य लिखना था जो mysqldumped हमारे उत्पादन डेटाबेस था, और डेटाबेस.इमल फ़ाइल के बाहर कनेक्शन स्ट्रिंग को हार्ड-कोड नहीं करना चाहता था। –

5

यह आप की तरह लगता है अभी सीधे डेटाबेस से कनेक्ट करना चाहते हैं। आप rails dbconsole के साथ ऐसा कर सकते हैं (docs देखें)

0

लिए विकल्पों के साथ हैश रिटर्न के साथ जाना होगा

ActiveRecord::Base.configurations["development"] => 
{"encoding"=>"utf8", "username"=>"foo", "adapter"=>"mysql", "database"=>"bar_development", "host"=>"localhost", "password"=> "baz"} 
संबंधित मुद्दे