2014-09-23 4 views
6

Я могу подключиться к экземпляру RDS с помощью команды mysql -h ..., поэтому я знаю, что это не проблема группы безопасности.Как подключиться к Amazon RDS с помощью go-sql-драйвера

Я пытался использовать:

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

в риом файле Go-SQL-драйвере (https://github.com/go-sql-driver/mysql), но это не похоже на работу.

Я использую свое имя пользователя под экземпляром RDS, а не здесь.

Edit: Ошибка Возвращается: 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)

Check (чтобы убедиться, что вы используете последние версии, как и в this issue):

  • ваш Go-MySQL-драйвер версии (или GIT SHA)
  • версию Go (запуск go version в консоли)

Если ошибка не непосредственно я п Открытый шаг, но при обращении к рядам, 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. Единственное различие между двумя экземплярами DB (local vs RDS) - это версия MySQL. Считаете ли вы, что это возможная причина? – John

+0

@UserNotDefined да, это может быть причиной недопонимания. – VonC

Смежные вопросы