I have docker container with H2 database, I can connect to it using “Database” IDE feature, also can ping container host using DNS name inside my server container.
I’m using github.com/jmrobles/h2go
package as database driver, so i tried (i deleted some unnessecary code):
package service
import (
_ "github.com/jmrobles/h2go"
)
func (s *DataSourceService) ConnectToH2Db(dbHost, dbUsername, dbPassword, dbName string, dbPort int) (*sqlx.DB, error) {
connectionData := fmt.Sprintf("h2://%v:%v@%v:%v/%v", dbUsername, dbPassword, dbHost, dbPort, dbName)
logrus.Info(connectionData)
conn, err := sqlx.Open("h2", connectionData)
if err != nil {
logrus.Info("open")
return nil, err
}
if err = conn.Ping(); err != nil {
logrus.Info("ping")
return nil, err
}
return conn, nil
}
When trying to connect i got driver: bad connection
and logrus printed open
.
Thanks in advance for the answer.