gpt4 book ai didi

r - dbplyr::in_schema 区分大小写

转载 作者:行者123 更新时间:2023-11-29 11:25:31 25 4
gpt4 key购买 nike

函数 dbplyr::in_schema() 无法连接到大写字母的表。

当我在 PostgreSQL 中创建表时。

CREATE TABLE public."OCLOC"
(
cod_ocloc double precision NOT NULL,
lab_ocloc character varying(255),
CONSTRAINT pk_ocloc PRIMARY KEY (cod_ocloc)
);

INSERT INTO public."OCLOC"(
cod_ocloc, lab_ocloc)
VALUES (1, 'example');

然后我尝试使用 R 中的 in_schema 连接到表:

 con <- DBI::dbConnect(RPostgreSQL::PostgreSQL(), 
dbname = 'dbname',
user = 'user',
host = 'host',
password = 'password')

tbl(con, dbplyr::in_schema('public','OCLOC'))

警告以下错误

Error in postgresqlExecStatement(conn, statement, ...) : 
RS-DBI driver: (could not Retrieve the result : ERROR: no existe la relación «public.ocloc»
LINE 1: SELECT * FROM public.OCLOC AS "zzz3" WHERE 0=1
^
)

但是当我尝试不使用 in_schema 连接时:

tbl(con, 'OCLOC')

看起来像一个不区分大小写的问题,当我将数据库与 public 之外的其他模式一起使用并且表名包含大写字母时,这会产生问题。

最佳答案

我找到了如下解决方案:在 ''

中添加 ""
tbl(con, '"OCLOC"')

关于r - dbplyr::in_schema 区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45226603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com