加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

dbplyr :: in_schema区分大小写

发布时间:2020-12-13 15:51:59 所属栏目:百科 来源:网络整理
导读:函数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 pub
函数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"')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读