Excel VBS错误:关系“;和Mebaas“;不存在

Excel VBS错误:关系“;和Mebaas“;不存在,excel,postgresql,vbscript,Excel,Postgresql,Vbscript,我正在使用Excel 2019家庭和企业 我已经构建了SQL字符串,如果我通过PGAdmin使用它,它会起作用,但是如果我通过vbs执行它,我会得到关系错误。 这就是我创建连接的方式 db.Open "DSN=" & databaseSource & "; Database=" & databaseName & "; Uid=" & databaseUsername & "; Pwd=" & databasePassword cmd.Com

我正在使用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字符串中添加一些表,但在vbs中如何添加呢? 表和MEBAAS位于3种不同的模式中

我还删除了另一个有问题的列,因为在数据库中,它在CREATETABLE中写入了这个列

如果我在代码中添加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字符串中添加更多连接或关系,以便插入新行时知道这些表位于何处?找到了解决方案。在执行查询之前,必须将路径设置为其他模式之一。 然后,数据库能够自己找出所有其他模式

SET search_path TO eesti,public; INSERT INTO kaup (...