DEPO Firebird: путь к базе — и строкой подключения Fancy целиком (база на другом компьютере)
Поле пути в мастере и в «Таблицах обмена» принимает строку подключения из настройки Fancy: «сервер:путь», «сервер/порт:путь», «\\сервер\D:\путь», «\\сервер\D$\путь», «inet://сервер:порт/путь» — адрес и порт bj берёт из неё (в мастере поля заполняются сразу при вставке). Сетевая папка «\\сервер\папка\…» — ошибка с подсказкой: Firebird открывает базу только на своём диске, адрес — компьютер с сервером Firebird. Проверено мастером на копии базы: пустой адрес + «127.0.0.1/3050:путь» — подготовка и BJ_PING. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
This commit is contained in:
@@ -77,7 +77,25 @@ func (h *setupHandlers) saveFancyDepoTables(w http.ResponseWriter, r *http.Reque
|
||||
}
|
||||
s := h.rc.Snapshot().Fancy
|
||||
db := strings.TrimSpace(r.FormValue("depo_database"))
|
||||
if db != "" && !validDBName(db) {
|
||||
if s.IsFirebird() && db != "" { // путь к базе на сервере Firebird или строка подключения Fancy целиком
|
||||
host, p, path, err := fbSplitConn(db)
|
||||
if err != nil {
|
||||
setupFlash(w, r, "Таблицы DEPO: "+err.Error())
|
||||
return
|
||||
}
|
||||
if !validFBPath(path) {
|
||||
setupFlash(w, r, "Таблицы DEPO: путь к базе — без кавычек, ; ? и #")
|
||||
return
|
||||
}
|
||||
if host != "" && (host != s.Server || (p != 0 && p != s.Port)) {
|
||||
s.Server = host
|
||||
if p != 0 {
|
||||
s.Port = p
|
||||
}
|
||||
s.DepoJobCheck, s.DepoJobCheckOK = "", false
|
||||
}
|
||||
db = path
|
||||
} else if db != "" && !validDBName(db) {
|
||||
setupFlash(w, r, "Таблицы DEPO: имя базы — только латинские буквы/цифры/_, начинать с буквы")
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user