[R-pkg-devel] Weird error message during R CMD Check
Marcelino de la Cruz Rot
marcelino.delacruz at urjc.es
Wed Mar 14 22:40:30 CET 2018
It is very easy. You should define your variable connectionString before
passing it to get_DB_info().
I.e.:
### ** Examples
connectionString <- WHATEVER_IS_CONNECTIONSTRING
get_DB_info(connectionString)
This would remove your error.
Cheers,
Marcelino.
El 14/03/2018 a las 22:15, martiankabe at gmail.com escribió:
> Hi Duncan,
>
>
>
> could you help me fix this issue, please?
>
>
>
> Below is function which creates connection string.
>
>
>
> #' Create connection string from function parameters
>
> #'
>
> #' This function defines SQL Server connection string
>
> #' from function parameters.
>
> #' @param datasource Server name
>
> #' @param database Database name
>
> #' @param usr Username
>
> #' @param pwd Password
>
> #' @note If username and password missing or empty \strong{Integrated Security=True} is used in connection string instead.
>
> #' @return Connection string
>
> #' @export
>
> #' @examples
>
> #' set_connString("LAPTOP-USER\\SQLEXPRESS", "Database_Name")
>
> set_connString <- function(datasource, database, usr, pwd) {
>
> ds <- paste("Data Source=", datasource, ";", sep = "")
>
> db <- paste("Initial Catalog=", database, ";", sep = "")
>
> if ((missing(usr) & missing(pwd)) || (usr=="" & pwd=="")) {
>
> last_param <- "Integrated Security=True;MultipleActiveResultSets=True;"
>
> } else {
>
> last_param <- paste("Integrated Security=False;", "User Id=", usr, ";", "Password=", pwd, ";", "MultipleActiveResultSets=True;", sep = "")
>
> }
>
> return(paste('"', ds, db, last_param, '"', sep = ""))
>
> }
>
>
>
> This connection string is then passed to get_DB_info function – see below.
>
>
>
> How can I fix object ‘connectionString’ not found issue?
>
>
>
> Thank you for any of your advice.
>
> Martin
>
>
>
> #' Get database info
>
> #'
>
> #' This function retrieves basic info about database defined
>
> #' in SQL Server connection string.
>
> #' @param connectionString Connection string to SQL server
>
> #' @return Returns data.frame and data.table
>
> #' @export
>
> #' @examples
>
> #' get_DB_info(connectionString)
>
> #' @note How to set up SQL Server connection string see \link{set_connString}. Be also sure you have a permissions for access to sys.dm_db_index_usage_stats:
>
> #' check it with SELECT * FROM sys.dm_db_index_usage_stats. If not, contact your SQL Server admin.
>
>
>
> get_DB_info <- function(connectionString) {
>
> options(scipen=999)
>
> if (missing(connectionString)) {
>
> print("Connection string is missing!")
>
> return("Try it again")
>
> }
>
> # connectionString <- connectionString
>
> pathtocsvloader <- gsub("/","\\\\",paste(system.file(package = "RSQLS")[1],"/Loader/csv_to_sql_loader.exe", sep = ""))
>
> pathtocsvloader <- replace_spaced_words(pathtocsvloader)
>
> pathtocsvloader <- gsub('.{1}$', '', pathtocsvloader)
>
> # logic for pathtocsvfiles variable
>
> pathtocsvfiles <- gsub("/","\\\\",paste(system.file(package = "RSQLS")[1],"/Data/", sep = ""))
>
> if (!endsWith(pathtocsvfiles, "\\")) {
>
> pathtocsvfiles <- paste(pathtocsvfiles,"\\", sep = "")
>
> }
>
> sqltabname <- "tempDBInfo"
>
> sqltabname <- gsub("\\[|\\]", "", sqltabname)
>
> if (length(strsplit(sqltabname,"\\.")[[1]]) > 1) {
>
> sqltabname_prev <- gsub("^[^.]*.", "", sqltabname)
>
> } else {
>
> sqltabname_prev <- sqltabname
>
> }
>
> sql_tab_name <- paste('"', sqltabname, '"', sep = "") # '"dbo.CFTC_Disaggregated_Raw_test"'
>
> sql_task <- paste('"dbinfo"', sep = "")
>
> real_pathtocsvfile <- paste('"', pathtocsvfiles, paste(sqltabname_prev, ".csv", sep = ""),'"', sep = "")
>
> file_to_be_deleted <- paste(pathtocsvfiles, paste(sqltabname_prev, ".csv", sep = ""), sep = "")
>
> ss <- paste('', pathtocsvloader, " ", connectionString, " ", sql_task, " ", real_pathtocsvfile, " ", "null", sep = "")
>
> # Call shell command
>
> oldw <- getOption("warn")
>
> options(warn = -1)
>
> sc <- shell(ss)
>
> if (file.exists(file_to_be_deleted)){
>
> out <- data.table::fread(file_to_be_deleted, stringsAsFactors = FALSE, sep = "~", fill = TRUE)
>
> } else{
>
> options(warn = oldw)
>
> stop('See the previous messages for more details.')
>
> }
>
> # Delete csv file
>
> if (file.exists(file_to_be_deleted)){
>
> invisible(file.remove(file_to_be_deleted))
>
> } else{
>
> options(warn = oldw)
>
> stop('See the previous messages for more details.')
>
> }
>
> if( sc == 1 ) {
>
> options(warn = oldw)
>
> stop('See the previous messages for more details.')
>
> } else {
>
> options(warn = oldw)
>
> }
>
> return(out)
>
> }
>
>
>
>
>
> -----Původní zpráva-----
> Od: Duncan Murdoch <murdoch.duncan at gmail.com>
> Odesláno: 13 March 2018 23:22
> Komu: martiankabe at gmail.com; r-package-devel-bounces at r-project.org
> Kopie: r-package-devel at r-project.org
> Předmět: Re: [R-pkg-devel] Weird error message during R CMD Check
>
>
>
> On 13/03/2018 4:53 PM, <mailto:martiankabe at gmail.com> martiankabe at gmail.com wrote:
>
>> Hello,
>>
>> I'm trying to submit my package to CRAN but receiving the following
>> error message.
>>
>> object 'connectionString' not found
>
>
> Your example never defined a variable called connectionString, so you can't pass it to a function.
>
>
>
> Duncan Murdoch
>
>
>
>>
>> even if it is parameter of get_DB_info(connectionString) function -
>> see the function definition below error message.
>>
>> Please, can you help me to understand what should be fixed in the code
>> so that I could successfully submit my package to CRAN?
>>
>> Thanks a lot for any of your help in advance.
>>
>> Best,
>> Martin
>>
>> <https://win-builder.r-project.org/incoming_pretest/180313_212715_RSQLS> https://win-builder.r-project.org/incoming_pretest/180313_212715_RSQLS
>> _16/00
>> check.log
>> * checking examples ...
>> ** running examples for arch 'i386' ... ERROR
>> Running examples in 'RSQLS-Ex.R' failed
>> The error most likely occurred in:
>>
>>> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
>>> ### Name: get_DB_info
>>> ### Title: Get database info
>>> ### Aliases: get_DB_info
>>> ### ** Examples
>>> get_DB_info(connectionString)
>> Error in paste("", pathtocsvloader, " ", connectionString, " ", sql_task, :
>> object 'connectionString' not found
>> Calls: get_DB_info -> paste
>> Execution halted
>> ** running examples for arch 'x64' ... ERROR
>> Running examples in 'RSQLS-Ex.R' failed
>> The error most likely occurred in:
>>
>>> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
>>> ### Name: get_DB_info
>>> ### Title: Get database info
>>> ### Aliases: get_DB_info
>>> ### ** Examples
>>> get_DB_info(connectionString)
>> Error in paste("", pathtocsvloader, " ", connectionString, " ", sql_task, :
>> object 'connectionString' not found
>> Calls: get_DB_info -> paste
>> Execution halted
>> * checking PDF version of manual ... OK
>> * DONE
>> Status: 2 ERRORs, 3 WARNINGs, 4 NOTEs
>>
>> ------------------------------------ get_DB_info(connectionString)
>> ------------------------------------------------------------
>>
>> #' Get database info
>> #'
>> #' This function retrieves basic info about database defined
>> #' in SQL Server connection string.
>> #' @param connectionString Connection string to SQL server
>> #' @return Returns data.frame and data.table
>> #' @export
>> #' @examples
>> #' get_DB_info(connectionString)
>> #' @note How to set up SQL Server connection string see
>> \link{set_connString}. Be also sure you have a permissions for access
>> to
>> sys.dm_db_index_usage_stats:
>> #' check it with SELECT * FROM sys.dm_db_index_usage_stats. If not,
>> contact your SQL Server admin.
>> get_DB_info <- function(connectionString) {
>> options(scipen=999)
>> if (missing(connectionString)) {
>> print("Connection string is missing!")
>> return("Try it again")
>> }
>> pathtocsvloader <- gsub("/","\\\\",paste(system.file(package =
>> "RSQLS")[1],"/Loader/csv_to_sql_loader.exe", sep = ""))
>> pathtocsvloader <- replace_spaced_words(pathtocsvloader)
>> pathtocsvloader <- gsub('.{1}$', '', pathtocsvloader)
>> # logic for pathtocsvfiles variable
>> pathtocsvfiles <- gsub("/","\\\\",paste(system.file(package =
>> "RSQLS")[1],"/Data/", sep = ""))
>> if (!endsWith(pathtocsvfiles, "\\")) {
>> pathtocsvfiles <- paste(pathtocsvfiles,"\\", sep = "")
>> }
>> sqltabname <- "tempDBInfo"
>> sqltabname <- gsub("\\[|\\]", "", sqltabname)
>> if (length(strsplit(sqltabname," <file://.> \\.")[[1]]) > 1) {
>> sqltabname_prev <- gsub("^[^.]*.", "", sqltabname)
>> } else {
>> sqltabname_prev <- sqltabname
>> }
>> sql_tab_name <- paste('"', sqltabname, '"', sep = "") #
>> '"dbo.CFTC_Disaggregated_Raw_test"'
>> sql_task <- paste('"dbinfo"', sep = "")
>> real_pathtocsvfile <- paste('"', pathtocsvfiles,
>> paste(sqltabname_prev, ".csv", sep = ""),'"', sep = "")
>> file_to_be_deleted <- paste(pathtocsvfiles, paste(sqltabname_prev,
>> ".csv", sep = ""), sep = "")
>> ss <- paste('', pathtocsvloader, " ", connectionString, " ", sql_task, "
>> ", real_pathtocsvfile, " ", "null", sep = "")
>> # Call shell command
>> oldw <- getOption("warn")
>> options(warn = -1)
>> sc <- shell(ss)
>> if (file.exists(file_to_be_deleted)){
>> out <- data.table::fread(file_to_be_deleted, stringsAsFactors =
>> FALSE, sep = "~", fill = TRUE)
>> } else{
>> options(warn = oldw)
>> stop('See the previous messages for more details.')
>> }
>> # Delete csv file
>> if (file.exists(file_to_be_deleted)){
>> invisible(file.remove(file_to_be_deleted))
>> } else{
>> options(warn = oldw)
>> stop('See the previous messages for more details.')
>> }
>> if( sc == 1 ) {
>> options(warn = oldw)
>> stop('See the previous messages for more details.')
>> } else {
>> options(warn = oldw)
>> }
>> return(out)
>> }
>>
>> ---
>> This email has been checked for viruses by Avast antivirus software.
>> <https://www.avast.com/antivirus> https://www.avast.com/antivirus
>> [[alternative HTML version deleted]]
>> ______________________________________________
>> <mailto:R-package-devel at r-project.org> R-package-devel at r-project.org mailing list
>> <https://stat.ethz.ch/mailman/listinfo/r-package-devel> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-package-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
> .
>
--
Marcelino de la Cruz Rot
Depto. de Biología y Geología
Física y Química Inorgánica
Universidad Rey Juan Carlos
Móstoles España
More information about the R-package-devel
mailing list