2015-03-31 12 views
6

मैं mysql.I के साथ RoR का उपयोग करके एक एप्लिकेशन बना रहा हूं। मैंने mysql के साथ ऐप बनाने के लिए नीचे दिए गए चरणों का पालन किया।रेल पर रूबी का उपयोग करके libmysql.dll फ़ाइल लोड करने में विफल 3

1-रेल नया ProjectName -d mysql

2-रेल पाड़ पोस्ट का शीर्षक उत्पन्न: स्ट्रिंग शरीर: पाठ

2 कदम चलाने के बाद मैं निम्नलिखित त्रुटि मिली।

त्रुटि:

Failed to load libmysql.dll from C:\Ruby193\lib\ruby\gems\1.9.1\gems\mysql2-0.3. 
18-x86-mingw32\vendor\libmysql.dll 

मैं अपने सिस्टम में mysql स्थापित किया है और mysql-कनेक्टर-सी noinstall-6.0.2-Win32 से libmysql.dll फ़ाइल की नकल की है \ lib सेल्सियस के लिए \ libmysql.dll: \ Ruby193 \ bin अभी भी मुझे उपरोक्त त्रुटि मिल रही है। कृपया इस त्रुटि को हल करने में मेरी सहायता करने का प्रयास करें और मुझे यह भी जानने में दिलचस्पी है कि मेरे mysql डीबी मेरे स्थानीय सिस्टम की बजाय किसी अन्य उदाहरण में मौजूद है या नहीं, मैं इसे रेल का उपयोग करके कैसे जोड़ सकता हूं ।

मैं अपने सिस्टम में रेल संस्करण-3.2.1 9 और जीत-एक्सपी का उपयोग कर रहा हूं।

उत्तर

10

कुछ "Google कार्य" के बाद और Win2k3 सर्वर पर प्रयास करने के बाद, यह "mysql2 के बाइनरी संस्करण" द्वारा एक समस्या केस जैसा लगता है।

mysql2 के हाल के संस्करणों में, इसमें libmysql.dll को स्थानीय रूप से संकलित करने की आवश्यकता होने से पहले, और libmysql.dll का संस्करण MySQL कनेक्टर 6.1.x से आता है जो WinXp/2k3 के समर्थन को हटा देता है।

  1. gem uninstall mysql2 करके अपने mysql2 मणि ​​की स्थापना रद्द करें और सभी mysql2 पैकेज
  2. हटाने डाउनलोड एक "MySQL कनेक्टर/सी NoInstall" MySQL से:

    तो, आप इस तरह से मैं अपने Redmine स्थापना में सफलता कोशिश कर सकते हैं कौन सा संस्करण 6.1 से कम होना चाहिए, मेरे मामले में 6.0.2 (mysql-connector-c-noinstall-6.0.2-win32.zip) है, और पथ पर अनजिप करें, जैसे "डी: \ MySQLConn"

  3. इंस्टॉल करें mysql2 इस कमांड द्वारा: gem install mysql2 --platform=ruby -- '--with-mysql-lib="D:\MySQLConn\lib" --with-mysql-include="D:\MySQLConn\include"'
  4. रन रेडमाइन इंस्टॉल `बंडल विकास परीक्षण '--without स्थापित
  5. चेक mysql2 मणि ​​gem list mysql2
  6. मणि जो" आत्म संकलित "नहीं (चरण 3 से), नाम" mysql2-0.3.18-86-mingw32 "की तरह निकालें और बनाने सुनिश्चित करें कि mysql2 का केवल "स्वयं संकलित" संस्करण, "mysql2-0.3.18"
  7. जैसा दिखता है!

मुझे आशा है कि यह आपके लिए सहायक होगा।

+0

धन्यवाद लुयूरे, मैं भी रेडमाइन सेटअप कर रहा हूं। लेकिन x64 में। आपके कदम वास्तव में मदद कर रहे हैं :) – arced

+0

किसी भी व्यक्ति के लिए जो विंडोज़ में रेडमाइन सेटअप में समस्याएं हैं। यदि आप "रेक डीबी: माइग्रेट" पर ठोकरें। आपको "mysql2-0.3 को अनइंस्टॉल करना होगा।18-x86-mingw32 "संस्करण" gem अनइंस्टॉल mysql2 "के साथ" फिर नंबर 2 (मेरे लिए) चुनें। – arced

3

मुझे पता चला कि libmysql.dll की 32 बिट और 64 बिट भिन्नताएं हैं। दोनों को एक कोशिश करो। मेरे लिए 32 बिट libmysql.dll काम किया।

1

मेरे बाद यह mysql2 0.4.7+ में अपग्रेड करने के बाद हुआ। 0.4.6 के बाद संस्करण MySQL कनेक्टर सी 6.1.10+ का उपयोग करें। release notes उल्लेख है कि MySQL कनेक्टर सी संकलित करने के लिए, आपको Visual C++ Redistributable for Visual Studio 2015 इंस्टॉल करने की आवश्यकता होगी। इसे स्थापित करने और mysql2 को पुनर्स्थापित करने के बाद, त्रुटि चली गई।

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