SQLite 데이터베이스에 연결하려면 비교적 간단합니다. 드라이버와 경로를 SQLite 파일에 전달합니다.dbConnect에 전달할 수있는 인수는 무엇입니까?
다른 DBI
호환 데이터베이스 백엔드 (PostgreSQL, MySQL 등)의 경우 dbConnect
에 전달할 수있는 정보가 명확하지 않으며 잘 설명되어 있지 않습니다.
연결을 형성하기 위해 dbConnect
으로 전달할 수있는 것을 어떻게 찾을 수 있습니까?
SQLite 데이터베이스에 연결하려면 비교적 간단합니다. 드라이버와 경로를 SQLite 파일에 전달합니다.dbConnect에 전달할 수있는 인수는 무엇입니까?
다른 DBI
호환 데이터베이스 백엔드 (PostgreSQL, MySQL 등)의 경우 dbConnect
에 전달할 수있는 정보가 명확하지 않으며 잘 설명되어 있지 않습니다.
연결을 형성하기 위해 dbConnect
으로 전달할 수있는 것을 어떻게 찾을 수 있습니까?
사용 가능한 인수는 백엔드에 따라 다르므로 dbConnect
은 드라이버와 ...
인수 만 표시합니다.
진행하기 전에 데이터베이스 연결에 필요한 패키지를로드하십시오 (RSQLite
, RPostgreSQL
, RMySQL
또는 무엇이든).
드라이버
이 데이터베이스 백엔드의 이름과 동일해야합니다의 이름을 찾을 수 있습니다. 현재 지원되는 값은 "SQLite"
, "PostgreSQL"
, "MySQL"
, "Oracle"
, "JDBC"
입니다.
문자열은 항상 DB 패키지의 함수 이름이어야합니다. 따라서 의심 스러울 경우 패키지를 통해 검색하십시오 (예 : ls("package:RSQLite")
사용). 그럴듯한 이름을 추측하십시오.
당신은
showMethods
를 사용하여 연결을위한 방법을 사용할 수 볼 수있는 ... 인수
를 찾을 수 있습니다.
showMethods("dbConnect")
## Function: dbConnect (package DBI)
## drv="character"
## drv="PostgreSQLConnection"
## drv="PostgreSQLDriver"
## drv="SQLiteConnection"
## drv="SQLiteDriver"
이름에 Driver
과 함께 적절한 백엔드에 대한 메서드를 가져옵니다.
getMethod(dbConnect, "PostgreSQLDriver")
# The 'Method Definition' section of the output
## function (drv, ...)
## postgresqlNewConnection(drv, ...)
사용 가능한 인수는 이전 메서드 정의 내에서 호출 된 함수의 인수입니다. 통증이 조금있다
args(postgresqlNewConnection)
## function (drv, user = "", password = "", host = "", dbname = "",
## port = "", tty = "", options = "", forceISOdate = TRUE)
와 MySQL SQLite는 호출 함수 정의 로컬 프로그래밍에 액세스한다.
args(body(getMethod("dbConnect", "MySQLDriver"))[[2]][[3]])
## function (drv, dbname = NULL, username = NULL, password = NULL,
## host = NULL, unix.socket = NULL, port = 0, client.flag = 0,
## groups = "rs-dbi", default.file = NULL, ...
약간 다르게
# Oracle
args(.oci.Connect)
## function(drv, username = "", password = "", dbname = "", prefetch = FALSE,
## bulk_read = 1000L, stmt_cache = 0L, external_credentials = FALSE,
## sysdba = FALSE)
RJDBC
작품
args(body(getMethod("dbConnect", "SQLiteDriver"))[[2]][[3]])
## function (drv, dbname = "", ..., loadable.extensions = TRUE,
## cache_size = NULL, synchronous = "off", flags = SQLITE_RWC,
## vfs = NULL)
## function (...)
. 다른 하위 함수를 호출하는 대신 해당
dbConnect
메서드는 추가로 명명 된 args를 받아들입니다.
formalArgs(getMethod(dbConnect, "JDBCDriver"))
## [1] "drv" "url" "user" "password" "..."
불행히도 r-inside.org의 링크는 죽어있는 것 같습니다. 또한'sqliteNewConnection'이나 mysqlNewConnection을 찾을 수 없습니다 (더 이상 v0.10 https://github.com/r-dbi/RMySQL/blob/7c3ba1dc8bd59ba972350401f4c421b12da03253/NEWS.md#version-010 이후로 내 보내지 않습니다) –