簡體   English   中英

R中的個人數據庫連接包

[英]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包中使用requirelibrary -始終使用::並在DESCRIPTION文件的Imports中列出該包。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM