2014-09-23 8 views
6

का उपयोग कर अमेज़ॅन आरडीएस से कनेक्ट करने के लिए कैसे करें मैं mysql -h ... कमांड का उपयोग कर आरडीएस इंस्टेंस से कनेक्ट कर सकता हूं, इसलिए मुझे पता है कि यह सुरक्षा समूह समस्या नहीं है।go-sql-driver

मैं उपयोग करने के लिए कोशिश की है:

sql.Open("mysql", "id:[email protected](your-amazonaws-uri.com:3306)/dbname") 

जाना-एसक्यूएल-ड्राइवर (https://github.com/go-sql-driver/mysql) की रीडमी फ़ाइल में है, लेकिन यह काम करने के लिए प्रतीत नहीं होता।

मैं यहां आईडी के बजाय आरडीएस उदाहरण के तहत अपना उपयोगकर्ता नाम उपयोग कर रहा हूं।

संपादित करें: से त्रुटि आई है: panic runtime error: invalid memory address or nil pointer deference [signal 0xb code=0x1 addr=0x20 pc=0x5b551e] goroutine 16 [running] runtime.panic(0x7d4fc0, 0xa6ca73)...database/sql.(*Rows).Next...

यह मेरी स्थानीय डीबी साथ ठीक काम करता है।

+0

यह एक त्रुटि लौट जाना चाहिए, यह पोस्ट करें। – OneOfOne

उत्तर

0

यकीन है कि वास्तविक त्रुटि एक आयात मुद्दे से संबंधित नहीं है (issues 266 के रूप में) बनाने

चेक (सुनिश्चित करें कि आप नवीनतम संस्करण का उपयोग कर रहे, this issue में के रूप में होना करने के लिए):

  • अपने गो-MySQL-चालक संस्करण (या Git SHA)
  • अपने जाओ संस्करण (आपके कंसोल में go version चलाने)

त्रुटि सीधे मैं नहीं है, तो n ओपन कदम है, लेकिन जब पंक्तियाँ, check this comment out तक पहुँचने:

उपयोग या तो एक for लूप (for rows.Next() { ... }) या कुछ इस तरह:

if rows.Next() { 
    // whatever 
} else { 
    // catch error with rows.Err() 
} 
rows.Close() // <- don't forget this if you are not iterating over ALL results 
+0

मैंने आपके द्वारा उल्लेखित सब कुछ के माध्यम से चला गया। मैं जो कर रहा हूं वह मेरे स्थानीय MySQL उदाहरण के साथ पूरी तरह से ठीक काम करता है। दो डीबी उदाहरणों (स्थानीय बनाम आरडीएस) के बीच एकमात्र अंतर MySQL संस्करण है। क्या आपको लगता है कि यह एक संभावित कारण है? – John

+0

@UserNot परिभाषित हां, यह गलत संचार का कारण हो सकता है। – VonC