Excel VBS ОШИБКА: отношения "andmebaas" не существует - PullRequest
0 голосов
/ 09 января 2020

Я использую Excel 2019 для дома и бизнеса

Я построил SQL строку, которая работает, если я использую ее через PGAdmin, но если я выполняю ее через VBS, я получаю ошибку отношения. Вот как я создаю соединение

db.Open "DSN=" & databaseSource & "; Database=" & databaseName & "; Uid=" & databaseUsername & "; Pwd=" & databasePassword
cmd.CommandType = adCmdText
    cmd.ActiveConnection = db

, это строка SQL, которую я пытаюсь выполнить. Та же строка работает, если используется через PGAdmin

strSQL = "INSERT INTO public.kaup (grupp2, nimi, yhik, viit, grupp1, algyhik, suurus, kaal, baasyhik, tootjamaa, taimoot, teema, varvikood, brand, liik,  nimetus, tellitav, varviryhm, kollektsioon) VALUES (" & setT("brand") & ", " & Chr(39) & setName & Chr(39) & ", " & setT("unit") & ", " & setT("isRecipe") & ", " & setT("mainGroupNr") & ", " & setT("algyhik") & ", " & setT("size") & ", " & totalWeightStr & ", " & setT("baasyhik") & ", " & setT("origin") & ", " & setT("taimoot") & ", " & setT("season") & ", " & setT("factoryColor") & ", " & setT("categoryNr") & ", " & setT("productTypeNr") & ", " & setT("factoryName") & ", " & setT("orderable") & ", " & setT("colorGroup") & ", " & setT("collection") & ")"
    cmd.CommandText = strSQL
    On Error GoTo errorHandler
    cmd.Execute

Строка выглядит следующим образом:

INSERT INTO public.kaup (grupp2, nimi, yhik, viit, grupp1, algyhik, suurus, kaal, baasyhik, tootjamaa, taimoot, teema, varvikood, brand, liik,  nimetus, tellitav, varviryhm, kollektsioon) VALUES (186, 'Nord Active Plus Set Safari + Granite Chassis', 'TK', 1, 2, 'tk', 'N/A', 9.5, 'PCE', 'PL', 'ZZZ', '2020', 166, 2, 885, 'Nord Active Plus Set', 1, 15, null)

Я предполагаю, что мне нужно добавить несколько таблиц в строку SQL, но как мне это сделать? в вбс? Таблица andmebaas расположена в 3 разных схемах.

Также я удалил один столбец проблемных строк c, потому что в базе данных он записан в таблице создания.

Если я добавлю k_m_vaba в свой код он скажет, что он не имеет отношения к kaup_kaibemaks

CONSTRAINT kaup_kaibemaks FOREIGN KEY (k_m_vaba)
        REFERENCES eesti.kaibemaks (kaibemaks) MATCH SIMPLE
        ON UPDATE CASCADE
        ON DELETE RESTRICT
        NOT VALID,

Как мне добавить больше связей или отношений в моей строке SQL, чтобы при вставке новой строки он знал, где находятся эти таблицы?

1 Ответ

0 голосов
/ 09 января 2020

Найденное решение. перед выполнением запроса пришлось установить путь к одной из других схем. Затем база данных смогла самостоятельно выяснить все другие схемы.

SET search_path TO eesti,public; INSERT INTO kaup (...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...