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:
fontvielle
2026-10-27 19:15:46 +03:00
parent 50e420f4a0
commit 1d8bb0c032
8 changed files with 123 additions and 9 deletions
+28
View File
@@ -115,3 +115,31 @@ func TestFBScriptsMatchDeploy(t *testing.T) {
}
}
}
func TestFBSplitConn(t *testing.T) {
cases := []struct {
in, host string
port int
path string
bad bool
}{
{`D:\Fancy\Bases\DEPO.GDB`, "", 0, `D:\Fancy\Bases\DEPO.GDB`, false},
{`/var/db/depo.fdb`, "", 0, `/var/db/depo.fdb`, false},
{`DEPO`, "", 0, `DEPO`, false},
{`10.0.0.5:D:\Fancy\Bases\DEPO.GDB`, "10.0.0.5", 0, `D:\Fancy\Bases\DEPO.GDB`, false},
{`srv-depo/3051:D:\Show Depo\Bases\SPI_DEPO.GDB`, "srv-depo", 3051, `D:\Show Depo\Bases\SPI_DEPO.GDB`, false},
{`fbsrv:/var/db/depo.fdb`, "fbsrv", 0, `/var/db/depo.fdb`, false},
{`fbsrv:DEPO`, "fbsrv", 0, `DEPO`, false},
{`\\SRV-DEPO\D:\Fancy\DEPO.GDB`, "SRV-DEPO", 0, `D:\Fancy\DEPO.GDB`, false},
{`\\SRV-DEPO\d$\Fancy\DEPO.GDB`, "SRV-DEPO", 0, `D:\Fancy\DEPO.GDB`, false},
{`inet://10.0.0.5:3050/D:\Fancy\DEPO.GDB`, "10.0.0.5", 3050, `D:\Fancy\DEPO.GDB`, false},
{`inet://10.0.0.5/depo`, "10.0.0.5", 0, `depo`, false},
{`\\SRV-DEPO\Bases\DEPO.GDB`, "", 0, "", true},
}
for _, c := range cases {
h, p, path, err := fbSplitConn(c.in)
if (err != nil) != c.bad || h != c.host || p != c.port || path != c.path {
t.Errorf("fbSplitConn(%q) = %q, %d, %q, %v", c.in, h, p, path, err)
}
}
}