[R-pkg-devel] Weird error message during R CMD Check

martiankabe at gmail.com martiankabe at gmail.com
Thu Mar 15 08:34:34 CET 2018


Thank you very much Michael, this perfectly works.

Martin

 

Od: Michael Nelson <michael.nelson at sydney.edu.au> 
Odesláno: 15 March 2018 07:43
Komu: martiankabe at gmail.com; r-package-devel at r-project.org
Předmět: Re: [R-pkg-devel] Weird error message during R CMD Check

 

I don’t think the suggestion below will work as it would need to be a connection string to a database that the winbuilder computer (and whatever account) that is running would have access to. 

 

It would be better to use \dontrun{} so that the examples aren’t run. 

 

This is what is done in RODBC https://cran.r-project.org/web/packages/RODBC/index.html 

 

More fundamentally, given   the cran repository policy on windows only packages, CRAN may not be the appropriate place to publish. 

 

Michael. 


On 15 Mar 2018, at 8:41 am, Marcelino de la Cruz Rot <marcelino.delacruz at urjc.es <mailto:marcelino.delacruz at urjc.es> > wrote:

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 <mailto: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,"\\. <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)

 

}

 

 

 

-----Původní zpráva-----

Od: Duncan Murdoch <murdoch.duncan at gmail.com <mailto:murdoch.duncan at gmail.com> >

Odesláno: 13 March 2018 23:22

Komu: martiankabe at gmail.com <mailto:martiankabe at gmail.com> ; r-package-devel-bounces at r-project.org <mailto:r-package-devel-bounces at r-project.org> 

Kopie: r-package-devel at r-project.org <mailto: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 <mailto: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://protect-au.mimecast.com/s/8uNYCE8kz9tk0VDvuN3dn-?domain=win-builder.r-project.org <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://.> \\. <file://.%22)[[1> ")[[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://protect-au.mimecast.com/s/vhyTCGvmB5i2OKMDs7hjTN?domain=avast.com <https://www.avast.com/antivirus> 

            [[alternative HTML version deleted]]

______________________________________________

 <mailto:R-package-devel at r-project.org> R-package-devel at r-project.org <mailto:R-package-devel at r-project.org>  mailing list

 <https://stat.ethz.ch/mailman/listinfo/r-package-devel> https://protect-au.mimecast.com/s/x6zoCJyp0qhgA3Y6TzI6if?domain=stat.ethz.ch <https://stat.ethz.ch/mailman/listinfo/r-package-devel> 





   [[alternative HTML version deleted]]



______________________________________________

R-package-devel at r-project.org <mailto: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

______________________________________________
R-package-devel at r-project.org <mailto:R-package-devel at r-project.org>  mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list