google app engine golang, driver: conexão ruim

Eu tenho algum código que está funcionando no servidor GAE local, mas depois que o publico no GAE, ele gera o erro "driver: conexão ruim".

O código abaixo gera um novo * sql.DB:

func NewDb() (*sql.DB, error) {
  cloud := os.Getenv("dbcloud")
  local := os.Getenv("dblocal")
  if appengine.IsDevAppServer() {
    return sql.Open("mysql", "root@tcp("+local+":3306)/dbo")
  }
  return sql.Open("mysql", "root@cloudsql("+cloud+")/dbo")
}

No meu app.yaml, tenho o seguinte:

env_variables:
  dbcloud: 'projectid:instancename'
  dblocal: 'xxx.xxx.xxx.xxx'

Parece retornar um novo * sql.DB corretamente, mas quando começo a usar instruções preparadas é quando as coisas começam a quebrar.

db, err := NewDb() // err is nil
stmt, err := db.Prepare("INSERT INTO dbo.Users (Id) VALUES (?)") // err is driver: bad connection

Estou lutando com isso há uma hora e provavelmente estou fazendo algo muito estúpido. Qualquer ajuda seria apreciada!

questionAnswers(1)

yourAnswerToTheQuestion