google app engine golang, драйвер: плохое соединение

У меня есть некоторый код, который работает на локальном сервере GAE, но как только я публикую его в GAE, он выдает ошибку «драйвер: плохое соединение».

Ниже код генерирует новый * 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")
}

В моем app.yaml у меня есть следующее:

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

Кажется, что он правильно возвращает новый * sql.DB, но как только я начинаю использовать подготовленные операторы, это когда вещи начинают ломаться.

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

Я боролся с этим в течение часа и, вероятно, делаю что-то очень глупое, любая помощь будет принята!

Ответы на вопрос(1)

Ваш ответ на вопрос