2008-09-15 17 views
8

के साथ रेल 2.x का उपयोग करना क्या किसी के पास रेल 2.x से एमएस एसक्यूएल सर्वर 2005 के साथ काम करने का सकारात्मक अनुभव है?एमएस एसक्यूएल सर्वर 2005

हमारे डेवलपर्स मैक ओएस एक्स का उपयोग करते हैं, और हमारा उत्पादन लिनक्स पर चलता है। विरासत के कारणों के लिए हमें एमएस एसक्यूएल सर्वर 2005 का उपयोग करना चाहिए।

हम रूबी-ओडीबीसी का उपयोग कर रहे हैं और विभिन्न समस्याओं में भाग रहे हैं, यहां सूचीबद्ध करने के लिए बहुत निराशाजनक हैं। मुझे एक इंप्रेशन मिलता है कि हम कुछ गलत कर रहे हैं।

मैं माइग्रेशन और सभी के साथ, समझौता उपयोग के बारे में बात कर रहा हूं।

धन्यवाद,

उत्तर

1

मैं तुम्हें विरासत डेटाबेस से पलायन तक वजन दृढ़ता से सुझाव है। आप शायद खुद को दर्द की दुनिया में बहुत जल्दी मिल जाएंगे। अनुभव से, रेल और विरासत स्कीमा एक साथ बहुत अच्छी तरह से नहीं जाते हैं।

मुझे नहीं लगता कि इस के लिए एक "अच्छा समाधान" है, मुझे डर है।

+0

आप दर्द की दुनिया के लिए खुद को स्थापित कर रहे हैं। या तो अपने डेटा माइग्रेट करें, या अपने एमएस एसक्यूएल बैक-एंड पर कुछ प्रकार के MySQL फ्रंट-एंड को सेट करें, अगर ऐसी अन्य चिंताएं हैं जिनका आप उल्लेख नहीं कर रहे हैं। स्कीमा रेल की जरूरतों को प्रेरणा पर्याप्त होना चाहिए। – Subimage

3

लिनक्स पर आपके उत्पादन सर्वर को चलाने के बजाए क्या आपने विंडोज़ पर रेल चलाने के लिए विचार किया है? मैं वर्तमान में SQL सर्वर का उपयोग कर एक एप्लिकेशन विकसित कर रहा हूं और जब तक कि यह ठीक नहीं लगता है।

विंडोज़ पर चल रहे रेल 2.0 एप्लिकेशन से SQL सर्वर डेटाबेस तक पहुंचने के लिए ये चरण हैं।

SQL सर्वर एडाप्टर को रेल 2 में डिफ़ॉल्ट रूप से शामिल नहीं किया गया है। इसे निम्न आदेश का उपयोग करके डाउनलोड करना और इंस्टॉल करना आवश्यक है।

gem install activerecord-sqlserver-adapter 
--source=http://gems.rubyonrails.org 

से

http://rubyforge.org/projects/ruby-dbi/

माणिक dbi का नवीनतम संस्करण डाउनलोड करें और फिर से माणिक dbi \ lib \ DBD \ ADO.rb

सेल्सियस तक

फ़ाइल निकालने: \ गहरे लाल रंग का \ lib \ गहरे लाल रंग का \ site_ruby \ 1.8 \ DBD \ एडीओ \ ADO.rb।

चेतावनी, फ़ोल्डर एडीओ मौजूद नहीं है, इसलिए आपको इसे पहले से बनाना होगा।

development: 
adapter: sqlserver 
database: your_database_name 
host: your_sqlserver_host 
username: your_sqlserver_user 
password: your_sqlserver_password 

रन:

यह संभव --database विकल्प का उपयोग एसक्यूएल सर्वर के लिए रेल preconfigure करने के लिए, बस हमेशा की तरह अपने आवेदन बनाने और उसके बाद आपके आवेदन फ़ोल्डर में config \ database.yml संशोधित इस प्रकार नहीं है रेक डीबी: अपनी स्थापना की जांच के लिए माइग्रेट करें। अगर सबकुछ ठीक है तो आपको कोई त्रुटि संदेश नहीं मिलना चाहिए।

8

क्या आपने JRuby का उपयोग करने पर विचार किया है? माइक्रोसॉफ्ट के पास JDBC driver for SQL Server है जो यूनिक्स वेरिएंट (यह शुद्ध जावा AFAIK) पर चलाया जा सकता है। मैं 2.0 प्रौद्योगिकी पूर्वावलोकन जेआरबी और रेल 2.1 के साथ काम करने में सक्षम था। मैंने अभी तक माइग्रेशन की कोशिश नहीं की है, लेकिन अब तक चालक काफी अच्छी तरह से काम कर रहा है।

यह इस प्रकार से काम कर पाने के लिए की एक स्केच है:

  1. सुनिश्चित करें कि जावा 6 स्थापित किया गया है
  2. JRuby JRuby website
  3. पर दिए गए निर्देशों का उपयोग कर रेल स्थापित मणि (jruby -S gem install rails)
  4. का उपयोग कर स्थापित करें
  5. Microsoft's SQL Server JDBC driver (संस्करण 2.0)
  6. यूनिक्स पैकेज को डाउनलोड करें Microsoft के SQL सर्वर ड्राइवर को अनपैक करें
  7. sqljdbc4.jar का पता लगाएं और JRuby के lib निर्देशिका
  8. jruby -S gem install activerecord-jdbcmssql-adapter
  9. एक रेल परियोजना (jruby -S rails hello)
  10. database.yml (नीचे उदाहरण) में उचित सेटिंग रखो
  11. आप बिल्कुल तैयार हैं बनाने के लिए इसे कॉपी ! jruby script/console चलाने और एक मॉडल बनाने का प्रयास करें।
 
    development: 
     host: localhost 
     adapter: jdbc 
     username: sa 
     password: kitteh 
     driver: com.microsoft.sqlserver.jdbc.SQLServerDriver 
     url: jdbc:sqlserver://localhost;databaseName=mydb 
     timeout: 5000 

नोट: मुझे यकीन है कि आप JDBC ड्राइवर के साथ विंडोज प्रमाणीकरण का उपयोग कर सकते नहीं कर रहा हूँ। आपको SQL सर्वर प्रमाणीकरण का उपयोग करने की आवश्यकता हो सकती है।

आपको शुभकामनाएँ!

बेन

+1

यह सक्रियrecord-jdbcmssql-adapter नहीं होना चाहिए? – Sunny

+0

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

+0

आपको बहुत बहुत धन्यवाद, यह मेरे लिए एक आकर्षण की तरह काम करता था। हालांकि आपको मणि 'activerecord-jdbcmssql-adapter' स्थापित करने की आवश्यकता होगी। – TheMouseMan

1

हमारे डेवलपर्स मैक ओएस एक्स, और हमारे लिनक्स पर उत्पादन रन का उपयोग करें। विरासत कारणों से हम एमएस एसक्यूएल सर्वर का उपयोग करना चाहिए 2005.

हम Ubuntu 8.04 पर विकसित कर रहे हैं, लेकिन हमारे उत्पादन सर्वर Linux (CentOS) चल रहे हैं और हम भी SqlServer 2005

हमारे अनुभवों से उपयोग कर रहे हैं प्रारंभिक सेटअप और कॉन्फ़िगरेशन काफी दर्दनाक था - सबकुछ अच्छी तरह से खेलने के लिए कुछ सप्ताह लग गए। हालांकि, अब यह सब बेकार है, और मुझे लगता है कि एसक्यूएल सर्वर पूरी तरह से काम करता है।

हम फ्रीटीडीएस ओडीबीसी ड्राइवरों का उपयोग करते हैं जो एक बार कॉन्फ़िगर किया गया ठीक है।

विंडोज़ पर प्रोजेक्ट रेल ऐप नहीं चलाएं - आप परेशानी के लिए पूछ रहे हैं। यह विकास के लिए अच्छा है लेकिन कुछ भी नहीं। विंडोज प्लेटफार्मों पर रेल अच्छी तरह से स्केल नहीं करता है।

आशा है कि मदद करता है।

संबंधित मुद्दे