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:
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user