分享方式:


registerStoredProcedure:向資料庫註冊 SQL 預存程序

registerStoredProcedure:使用 StoredProcedure 物件向指定的資料庫註冊預存程序

使用方式

  registerStoredProcedure(sqlSP, connectionString = NULL)

引數

sqlSP

有效的 StoredProcedure 物件

connectionString

字元字串 (如果不使用連接字串建立 StoredProcedure 物件,則必須提供)

成功則為 TRUE,失敗則為 FALSE

範例


 ## Not run:

# See ?StoredProcedure for creating the "cleandata" table.

# train 1 takes a data frame with clean data and outputs a model
train1 <- function(in_df) {
 in_df[,"DayOfWeek"] <- factor(in_df[,"DayOfWeek"], levels=c("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"))
 # The model formula
 formula <- ArrDelay ~ CRSDepTime + DayOfWeek + CRSDepHour:DayOfWeek
 # Train the model
 rxSetComputeContext("local")
 mm <- rxLinMod(formula, data=in_df)
 mm <- rxSerializeModel(mm)
 return(list("mm" = mm))
}
# create InpuData Object for an input parameter that is a data frame
# note: if the input parameter is not a data frame use InputParameter object
id <- InputData(name = "in_df",
              defaultQuery = paste0("select top 10000 ArrDelay,CRSDepTime,",
                                    "DayOfWeek,CRSDepHour from cleanData"))

# create an OutputParameter object for the variable inside the return list
# note: if that variable is a data frame use OutputData object
out <- OutputParameter("mm", "raw")

# connections string
conStr <- paste0("Driver={ODBC Driver 13 for SQL Server};Server=.;Database=RevoTestDB;",
                "Trusted_Connection=Yes;")
# create the stored procedure object
sp_df_op <- StoredProcedure("train1", "spTest1", id, out,
                       filePath = ".")
# register the stored procedure with the database
registerStoredProcedure(sp_df_op, conStr)
model <- executeStoredProcedure(sp_df_op, connectionString = conStr)

# Getting back the model by unserializing it.
mm <- rxUnserializeModel(model$params$op1)
## End(Not run)