2014-09-23 10 views
6

Mogę połączyć się z instancją RDS za pomocą komendy mysql -h ..., więc wiem, że to nie jest problem z grupą zabezpieczeń.Jak połączyć się z Amazon RDS przy użyciu go-sql-driver

Próbowałem użyć:

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

w pliku readme go-SQL-kierowcy (https://github.com/go-sql-driver/mysql), ale nie wydają się działać.

Używam mojej nazwy użytkownika pod instancją RDS zamiast identyfikatora tutaj.

Edit: Błąd zwracany jest: 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...

Współpracuje z mojego lokalnego DB.

+0

Należy zwrócić błąd, proszę umieszczać je. – OneOfOne

Odpowiedz

0

Upewnij się, że rzeczywisty błąd nie jest związany z problemem importu (jak w issues 266)

Check (aby mieć pewność, że korzystasz z najnowszej wersji, jak w this issue):

  • swoje Go-MySQL-driver wersji (git lub SHA)
  • wersję Go (prowadzony go version w konsoli)

Jeśli błąd nie jest bezpośrednio i n Open krok, ale przy dostępie do wierszy, check this comment out:

użyć albo for pętlę (for rows.Next() { ... }) lub coś takiego:

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

Przeszedłem przez wszystko, o czym wspomniałeś. To, co robię, działa doskonale z moją lokalną instancją MySQL. Jedyna różnica między dwiema instancjami DB (lokalna a RDS) to wersja MySQL. Czy myślisz, że to możliwa przyczyna? – John

+0

@UserNotDefined tak, może to być przyczyną nieporozumień. – VonC

Powiązane problemy