[英]Personal Database Connection Package in R
我創建了一個程序包,以簡化在R中開始新項目時建立數據庫連接的過程。幾乎每個項目都需要我連接到專有數據庫,這意味着要回顧文件並進行復制粘貼。之前,將sql驅動程序復制到新項目文件夾中。 理想情況下,我想使用以下代碼開始一個新項目:
library(MyConnections)
conn <- MyConnections::get_conn()
我有一個用於數據庫連接的打包功能,不需要我讀取驅動程序文件。
get_mysql_conn <- function(){
require(RMySQL)
dbConnect(MySQL(),
user = 'user',
password = "password",
dbname = 'dbname',
host= 'host')
}
但是,我無法弄清楚如何使此代碼以我想要的方式工作。
get_mssql_conn <- function(){
require(RJDBC)
driver <- JDBC("com.microsoft.sqlserver.jdbc.SQLServerDriver", "./drivers/mssql-jdbc-7.0.0.jre8.jar")
dbConnect(driver, "[connection string]",'[user]')
}
我認為必須有一種方法可以在包中創建驅動程序對象,並在函數中使用它來代替讀取文件,但是我完全不知道該如何處理。 任何幫助或指向正確方向的幫助將不勝感激。
您可以創建一個目錄inst/drivers
並在其中保存.jar文件,然后按如下所示創建函數:
get_mssql_conn <- function(){
driver <- RJDBC::JDBC(
"com.microsoft.sqlserver.jdbc.SQLServerDriver",
system.file("drivers", "mssql-jdbc-7.0.0.jre8.jar", package = "MyConnections")
)
RJDBC::dbConnect(driver, "[connection string]",'[user]')
}
旁注: 永遠不要在R包中使用require
或library
-始終使用::
並在DESCRIPTION
文件的Imports中列出該包。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.