5

के लिए काम नहीं कर सकती है, इसलिए, मैं इस काम को ठीक से काम करने के लिए नहीं कर सकता। मेरा अंतिम लक्ष्य डीबीडी-ओडीबीसी मणि स्थापित और काम करना है, और मैंने कई चीजों को पढ़ा है, मुझे dbd-odbc मणि के साथ रूबी के लिए ODBC binding स्थापित करने की आवश्यकता है। ठीक है, मैं DBD-ODBC मणि ठीक स्थापित प्राप्त कर सकते हैं, लेकिन जब यह तो जैसे मुझ पर यह बाध्यकारी टैंक बाहर स्थापित करने का प्रयास करने के लिए आता है:मुझे रूबी डेवलपमेंट किट विंडोज एक्सपी

 
Building native extensions. This could take a while... 
ERROR: Error installing ruby-odbc-0.9998.gem: 
     ERROR: Failed to build gem native extension.` 

c:/tools/ruby/ruby-1.9.1-p376/bin/ruby.exe extconf.rb 
checking for version.h... *** extconf.rb failed *** 
Could not create Makefile due to some reason, probably lack of 
necessary libraries and/or headers. Check the mkmf.log file for more 
details. You may need configuration options. 

Provided configuration options: 
     --with-opt-dir 
     --without-opt-dir 
     --with-opt-include 
     --without-opt-include=${opt-dir}/include 
     --with-opt-lib 
     --without-opt-lib=${opt-dir}/lib 
     --with-make-prog 
     --srcdir=. 
     --curdir 
     --ruby=c:/tools/ruby/ruby-1.9.1-p376/bin/ruby 
     --with-odbc-dir 
     --without-odbc-dir 
     --with-odbc-include 
     --without-odbc-include=${odbc-dir}/include 
     --with-odbc-lib 
     --without-odbc-lib=${odbc-dir}/lib 
c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:364:in 'try_do': The complier failed to generate an executable file. (RuntimeError) 
You have to install development tools first. 
     from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:433:in 'try_cpp' 
     from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:811:in 'block in have_header' 
     from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:670:in 'block in checking_for' 
     from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:276:in 'block (2 levels) in postpone' 
     from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:250:in 'open' 
     from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:276:in 'block in postpone' 
     from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:250:in 'open' 
     from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:272:in 'postpone' 
     from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:669:in 'checking_for' 
     from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:810:in 'have_header' 
     from extconf.rb:22:in '' 

तो ... यह माध्यम से पढ़ने, यह मैं कहना है पहले विकास उपकरण स्थापित करना होगा। ठीक है और बांका। मैं here पर जाता हूं, और देव किट को पकड़ता हूं। मैं here भटकता हूं, और इसे इंस्टॉल करने के निर्देशों के माध्यम से पढ़ता हूं। मैं इसे स्थापित करता हूँ।
एक तरफ नोट पर - मैंने रूबी इंस्टॉलर साइट से 1.9.1 के एक-क्लिक इंस्टॉल के साथ इसे आजमाया है। मैंने 1.8.6, 1.8.7 और 1.9.1 के तहत रूबी के precompiled mswin-32 बाइनरी के साथ यह कोशिश की है। उनमें से कोई भी काम नहीं किया है।
मैं एक-क्लिक इंस्टॉलर के साथ रहूंगा क्योंकि यही कारण है कि वेब पर आने वाले सभी निर्देशों का उपयोग किया जा रहा है। ठीक। यह मेरी fstab फ़ाइल को संपादित करने के लिए कहते हैं। मैं करता हूँ। यहां मेरा वर्तमान सेटअप है:
मेरी रूबी स्थापना में बैठा है: C:\tools\ruby\ruby19 devkit को इस निर्देशिका में निकाला गया है, और मैं वहां/bin को देख सकता हूं और gcc.bat, make.bat और sh.bat देख सकता हूं।
मैं निर्देशों का पालन करता हूं और अपने devkit/msys/1.0.11/etc/fstab फ़ाइल को संशोधित करता हूं। अब यह इस तरह दिखता है: कोई बात नहीं मैं ऐसा करने लगते हैं क्या
C:/tools/ruby/ruby19/devkit/gcc/3.4.5 /mingw C:/tools/ruby/ruby19/devkit/msys/1.0.11/usr/local /usr/local

, मैं नहीं मेरे जीवन के लिए ODBC बाध्यकारी मणि देशी एक्सटेंशन को संकलित करने के लिए मिल सकता है। मैं वही त्रुटि प्राप्त कर रहा हूं। यह बहुत निराशाजनक हो रहा है - कृपया मदद करें!

उत्तर

2

आप स्वयं को मार रहे हैं।

Win32 ऑपरेटिंग सिस्टम 0.997 के DLLs के लिए i386-msvcrt-ruby-odbc.zip में उपलब्ध हैं। इसमें फ़ाइलें odbc.so और odbc_utf8.so हैं जिन्हें में कॉपी करने की आवश्यकता है .../ruby ​​/ 1.8/i386-msvcrt निर्देशिका एमएसवीसी आधारित रूबी 1.8 इंस्टॉलेशन।

उन फ़ाइलों को डालने का प्रयास करें जहां अनुशंसित है, फिर मणि के उस संस्करण को स्थापित करें, और देखें कि यह कैसा चल रहा है।

+1

तुम्हें पता है, मैं इस अधिक से अधिक करने की कोशिश की, लेकिन मैं आधारित रूबी 1.8 प्रतिष्ठानों कि बयान का महत्वपूर्ण हिस्सा पढ़ने में विफल ... MSVC की। तो वापस 1.8 पर।7 एक क्लिक इंस्टॉलर, उन लोगों की प्रतिलिपि बनाते हैं जहां आवश्यक हो और ऐसा लगता है कि यह काम कर रहा है। मुझे लगता है कि यह अभी तक 1.9 के लिए तैयार नहीं है। – bergyman

1

ठीक है, मुझे लगता है कि यह न्यूनतम है। मैंने सबकुछ अनइंस्टॉल किया: सी: \ रूबी, मिनजीडब्लू, एमएसवाईएस, मैं जिस चीज को चलाने के लिए इसे चलाने की कोशिश कर रहा था, वह सब सामान।

तब मैं:

  1. स्थापित रूबी एक-क्लिक: http://rubyforge.org/frs/download.php/69034/rubyinstaller-1.8.7-p249-rc2.exe
  2. "मणि स्थापित ActiveRecord-sqlserver-अनुकूलक"
  3. स्थापित "मणि रेल स्थापित" devkit: unzipped rubyforge.org/frs/download.php/66888/devkit -3.4.5r3-20091110.7z सी में: \ ruby ​​
  4. "मणि रूबी-ओडीबीसी" बनाया गया, जिसने v। 0 बनाया और स्थापित किया।999
  5. एक DSN का उपयोग कर "नियंत्रण कक्ष> व्यवस्थापकीय टूल> डेटा स्रोत (ODBC)" देव-यात्रा dsn बुलाया बनाया
  6. मेरी database.yml में रखते:

development: 
    adapter: sqlserver 
    mode: odbc 
    dsn: dev_travel_dsn 
    username: some_user 
    password: some_secret 
    host: some_host 

मैंने भाग लिया "रेक डीबी: स्कीमा: डंप," जो ठीक काम करता था।

यह अजीब है, लेकिन भले ही आप DSN प्रबंधक में एक ही बहुत कुछ रखा है, तुम भी, database.yml में डाल करने के लिए है।

वैसे भी, उन Sql सर्वर/रेल 2.3.5/विंडोज का उपयोग करने के न्यूनतम आवश्यकताओं को होने लगते हैं।

1

यह मेरे लिए रेल 3 के साथ भी काम करता है। मैं प्रक्रिया में 2 gotchas में भाग गया। 1. रूबी 1.9.2 मुझे रूबी-ओडीबीसी स्थापित नहीं करने देगी, इसलिए मैंने वापस 1.8.7 पर स्विच किया। और 2. रेल के लिए 3 आप अपने gemfile में निम्नलिखित लाइनें शामिल करने के लिए है:

मणि 'ActiveRecord-sqlserver-अनुकूलक'

मणि 'माणिक ODBC'

उसके बाद, ऊपर दिए गए निर्देशों काम किया दोषरहित!

2

मैं एक बहुत ही इसी तरह की समस्या हुई, DBI और ODBC रूबी 1.9 के साथ काम करने के लिए Windows में .. रूबी 1.8 ठीक काम किया, लेकिन 1.9 मुद्दों का एक बहुत प्रस्तुत करने की कोशिश कर। अंत में यह काम करने के लिए मिला।

  1. मेरे सिस्टम से अन्य सभी रूबी संस्करणों, देव किट इत्यादि को हटाएं (या बस उन्हें कहीं पीछे छोड़ दें)। देव किट को "गंदे" सिस्टम के साथ काम करने की कोशिश करने का प्रयास किसी कारण से उत्पन्न हुआ ... जेम संघर्ष?
  2. here से नवीनतम रूबी इंस्टॉलर प्राप्त करें और इसे इंस्टॉल करें।
  3. github.com/oneclick/rubyinstaller/wiki/development-kit से देव किट प्राप्त करें और निर्देशों का पालन करें।
  4. www.ch-werner.de/rubyodbc/ से नवीनतम रूबी ओडीबीसी मणि प्राप्त करें। इसे रूबी मणि के रूप में डाउनलोड करें और स्थान को सहेजें।
  5. इस आदेश चलाकर रूबी ODBC मणि स्थापित करें: मणि dbi स्थापित
  6. स्थापित DBD-ODBC मणि: मणि स्थापित DBD मणि माणिक ODBC-0.99994.gem --platform = माणिक
  7. स्थापित DBI स्थापित -odbc
  8. एक साधारण परीक्षण चलाएं, आपको जाने के लिए अच्छा होना चाहिए।
1

रॉन, यह सब काम करने के लिए, क्या आपको अपने ओडीबीसी डेटा स्रोत में एक नया ओडीबीसी कनेक्शन बनाना याद आया?

रूबी 1.8 के लिए, आप कुछ भी 'कर' की जरूरत नहीं है; i386-msvcrt-ruby-odbc.zip से उन odbc फ़ाइलों को रखने के लिए पर्याप्त होना चाहिए (ch-werner.de/rubyodbc पर दिए गए निर्देश)

क्या आपने डीबीआई & dbd-odbc रत्न डाउनलोड किया था?

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