第一次嘗試使用DBI連接到Postgres以使用dbplyr。
問題:我正在嘗試將dbplyr與我退出的odbc連接一起使用,但dbplyr似乎無法使用它,因此嘗試使用DBI創建新連接,但此dbi連接出現錯誤。所以我正在尋找修復 dbi connection。
- 當我嘗試使用DBI復制現有連接時,連接不起作用:
庫
library(odbc)
library(RODBC)
library(DBI)
library(dplyr)
library(dbplyr)
# from: https://stackoverflow.com/questions/59413904/reading-data-from-a-sql-server-in-rstudio-dplyr
# from: /help/library/DBI/html/dbConnect.html
# from: https://github.com/r-dbi/odbc#odbc
dbicon <- DBI::dbConnect(
odbc::odbc(),
driver = "PostgreSQL Unicode",
database = "Postgres_xyz_db",
host = "some_xyz.amazonaws.com",
port = "5432",
uid = "user",
pwd = "users_password")
# connect with table
tbl_qry <- tbl(dbicon, "mydb_demo.demo_table")
tbl_qry %>% head()
dbConnect步驟出錯:
Error: nanodbc/nanodbc.cpp:1021: 00000: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
In addition: Warning message:
In for (i in seq_len(n)) { : closing unused RODBC handle 2
PS: 我在本地主機上運行這個:8787
- 我現有的odbc / RODBC連接適用于同一個資料庫。
庫
library(odbc)
library(RODBC)
library(dplyr)
library(dbplyr)
現有作業連接:
## #################################################################
## Connection Para
## #################################################################
driver.name <- "PostgreSQL Unicode"
db.name <- "Postgres_xyz_db"
host.name <- "some_xyz.amazonaws.com"
port <-"5432"
user.name <-"user"
pwd <- "users_password"
## #################################################################
## connect to a database
## #################################################################
con.text <- paste("DRIVER=",driver.name,
";Database=",db.name,
";Server=",host.name,
";Port=",port,
";PROTOCOL=TCPIP",
";UID=", user.name,
";PWD=",pwd,sep="")
con1 <- odbcDriverConnect(con.text)
但是dbplyr不適用于此連接
# connect with table
tbl_qry <- tbl(con1, "mydb_demo.demo_table")
tbl_qry %>% head()
(我不是真正的技術人員或資料庫管理員或開發人員,所以如果它看起來有點基本錯誤,請原諒)。
uj5u.com熱心網友回復:
odbc連接喜歡server=過host=,因此您的連接嘗試可能應
dbicon <- DBI::dbConnect(
odbc::odbc(),
driver = "PostgreSQL Unicode",
database = "Postgres_xyz_db",
server = "some_xyz.amazonaws.com",
port = "5432",
uid = "user",
pwd = "users_password")
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/317105.html
標籤:r PostgreSQL dbplyr r-dbi
