У меня есть сервер, написанный на Go, который обращается к базе данных Oracle.Работает нормально.Тем не менее, будет несколько экземпляров, работающих в разных (в настоящее время 2) местах, некоторым из которых не требуется доступ к базе данных.(Они получают одинаковую информацию, передаваемую им от своих одноранговых серверов.)
Я хочу, чтобы один и тот же исполняемый файл выполнялся во всех местах, но некоторые из них будут настроены так, чтобы не использовать базу данных, поскольку им это не нужно.Проблема в том, что после импорта пакета OCI вызывается его функция init (), которая паникует, когда не может связаться с базой данных.
Запуск GO 1.12.5 на Windows Server 2019.
Я пытался добавить OCI.DLL в тот же каталог, что и .EXE, но он все еще паникует.
import _ "github.com/mattn/go-oci8"
При запуске на сервере (без драйверов БД) я получаю сообщение об ошибке:
panic: OCIEnvCreate error
goroutine 1 [running]:
github.com/mattn/go-oci8.init.0()
D:/Golang/src/github.com/mattn/go-oci8/globals.go:160 +0x130
Я хочу избежать этой паники, когда мне не нужен доступ к базе данных.Я бы предпочел один .EXE без путаницы условных сборок.