Google App Engine Golang, Treiber: schlechte Verbindung

Ich habe Code, der auf dem lokalen GAE-Server ausgeführt wird, aber sobald ich ihn auf GAE veröffentliche, wird der Fehler "Treiber: schlechte Verbindung" ausgegeben.

Below-Code generiert eine neue * 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")
}

n meiner app.yaml habe ich die folgenden:

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

Es scheint eine neue * sql.DB korrekt zurückzugeben, aber sobald ich vorbereitete Anweisungen verwende, kommt es zum Einbruch.

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

Ich kämpfe jetzt seit einer Stunde damit und mache wahrscheinlich etwas sehr Dummes. Jede Hilfe wäre dankbar!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage