From 4418c8e55eb862816694ad1d65e080631385c2cd Mon Sep 17 00:00:00 2001 From: Thomas Roh Date: Sat, 6 May 2023 08:54:09 -0700 Subject: [PATCH 01/12] quoting column names for create table --- .Rbuildignore | 1 + R/bcp.R | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.Rbuildignore b/.Rbuildignore index 6c1e194..67b498d 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -11,3 +11,4 @@ _pkgdown.yml ^inst/tests$ TODO.md ^.lintr$ +^CRAN-SUBMISSION$ diff --git a/R/bcp.R b/R/bcp.R index 54d02ad..4ec856e 100644 --- a/R/bcp.R +++ b/R/bcp.R @@ -432,7 +432,8 @@ createTable <- function(connectargs, table, coltypes, ...) { query <- sprintf( 'CREATE TABLE %s (%s);', quotedTable, - paste(names(coltypes), coltypes, sep = ' ', collapse = ', ') + paste(sprintf('"%s"', names(coltypes)), coltypes, sep = ' ', + collapse = ', ') ) sqlcmdArgs <- append(mapConnectArgs(connectargs = connectargs, utility = 'sqlcmd'), values = list('-Q', shQuote(query))) From 93a91d320b48b419067ea4a6cbfc7472d570d2a7 Mon Sep 17 00:00:00 2001 From: Thomas Roh Date: Sat, 6 May 2023 10:21:41 -0700 Subject: [PATCH 02/12] switching to sql server quoting --- R/bcp.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/bcp.R b/R/bcp.R index 4ec856e..264ee98 100644 --- a/R/bcp.R +++ b/R/bcp.R @@ -432,7 +432,7 @@ createTable <- function(connectargs, table, coltypes, ...) { query <- sprintf( 'CREATE TABLE %s (%s);', quotedTable, - paste(sprintf('"%s"', names(coltypes)), coltypes, sep = ' ', + paste(sprintf('[%s]', names(coltypes)), coltypes, sep = ' ', collapse = ', ') ) sqlcmdArgs <- append(mapConnectArgs(connectargs = connectargs, From cffdb8bd2a59a3b0bff74d527035a316913a7c45 Mon Sep 17 00:00:00 2001 From: Thomas Roh Date: Sat, 6 May 2023 10:34:31 -0700 Subject: [PATCH 03/12] removing empty file --- R/sysdata.rda | Bin 115459 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 R/sysdata.rda diff --git a/R/sysdata.rda b/R/sysdata.rda deleted file mode 100644 index 789ec2903d27e6e0be58d1b3c08efe731f9aa8e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 115459 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 LML1B9Fg3p}_hSOV From 46f0a69c4bcefc9e171af106f5417e38d531146d Mon Sep 17 00:00:00 2001 From: Jonathan Tisack Date: Wed, 13 Mar 2024 14:52:57 -0400 Subject: [PATCH 04/12] Add quote identifiers flag for sqlcmd/bcp calls New parameter quoteidentifiers in makeConnectArgs() adds the -I flag to all sqlcmd calls and the -q flag to all bcp calls. Both flags set the QUOTED_IDENTIFIER option to ON when connecting to SQL Server. --- R/bcp.R | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/R/bcp.R b/R/bcp.R index 54d02ad..14ce521 100644 --- a/R/bcp.R +++ b/R/bcp.R @@ -526,13 +526,19 @@ readTable <- function(connectargs, table, ...) { #' use Azure Active Directory authentication, does not work with integrated #' authentication. #' +#' @param quoteidentifiers +#' +#' set QUOTED_IDENTIFIERS option to 'ON' for the connection between bcp/sqlcmd +#' and SQL Server. +#' #' @return #' #' a list with connection arguments #' #' @export makeConnectArgs <- function(server, database, username, password, - trustedconnection = TRUE, trustservercert = FALSE, azure = FALSE) { + trustedconnection = TRUE, trustservercert = FALSE, azure = FALSE, + quoteidentifiers = FALSE) { if (isTRUE(trustedconnection) && isTRUE(azure)) { stop('trustedconnection and azure cannot both be TRUE') } @@ -551,6 +557,10 @@ makeConnectArgs <- function(server, database, username, password, if (isTRUE(trustservercert)) { connectArgs <- append(x = connectArgs, values = list(trustservercert = trustservercert)) + } + if (isTRUE(quoteidentifiers)) { + connectArgs <- append(x = connectArgs, + values = list(quoteidentifiers = quoteidentifiers)) } connectArgs } @@ -600,14 +610,16 @@ mapConnectArgs <- function(connectargs, utility = c('sqlcmd', 'bcp') username = '-U', password = '-P', azure = '-G', - trustservercert = '-C'), + trustservercert = '-C', + quoteidentifiers = '-I'), bcp = list(server = '-S', database = '-d', trustedconnection = '-T', username = '-U', password = '-P', azure = '-G', - trustservercert = '-u'), + trustservercert = '-u', + quoteidentifiers = '-q'), stop('Unsupported utility') ) argSyntax <- argSyntax[names(connectargs)] From d862c696422b1a88b728a5747fb32076c6e8227a Mon Sep 17 00:00:00 2001 From: Jonathan Tisack Date: Wed, 13 Mar 2024 15:00:35 -0400 Subject: [PATCH 05/12] Add option to disable brackets around table names in bcp calls Previous behavior was to enclose all table names in brackets. E.g., "dbo.customers" -> "[dbo].[customers]". However, this appears to cause failure when attempting to import data from a linux system to an Azure Synapse database. This change adds a flag to disable the table name "quoting" while maintaining it as a default. --- R/bcp.R | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/R/bcp.R b/R/bcp.R index 14ce521..cb346de 100644 --- a/R/bcp.R +++ b/R/bcp.R @@ -35,6 +35,11 @@ #' \url{https://docs.microsoft.com/en-us/sql/relational-databases/spatial/spatial-data-types-overview}, #' ignored if \code{x} is not an 'sf' object #' +#' @param quotetablename +#' +#' Whether to enclose schema and table names in brackets in bcp command. May +#' not be compatible with some configurations. +#' #' @param bcpOptions #' #' list of additional options to pass to the 'bcp' utility. See details. @@ -88,6 +93,7 @@ bcpImport <- function( '\r\n', '\n'), overwrite = FALSE, spatialtype = c('geometry', 'geography'), + quotetablename = TRUE, bcpOptions = list( '-b', 1000, '-a', 4096, @@ -141,7 +147,8 @@ bcpImport <- function( bcpArgs <- append(bcpArgs, list('-t', shQuote(fieldterminator), '-r', shQuote(rowterminator), '-c')) - bcpArgs <- append(bcpArgs, list(quoteTable(table = table), + bcpArgs <- append(bcpArgs, list( + if (quotetablename) quoteTable(table = table) else table, 'in', shQuote(fileName)), after = 0) tableExists <- checkTableExists(connectargs = connectargs, table = table) From 809d2badad30e20c552102b1362309af9576c6cd Mon Sep 17 00:00:00 2001 From: Thomas Roh Date: Sat, 30 Mar 2024 13:01:41 -0700 Subject: [PATCH 06/12] incorporating pull request for quoted ids --- DESCRIPTION | 4 +-- NEWS.md | 7 +++++ R/bcp.R | 63 +++++++++++++++++------------------------- man/makeConnectArgs.Rd | 6 +++- 4 files changed, 39 insertions(+), 41 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 105320e..b9d7567 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,12 +1,12 @@ Package: bcputility Type: Package Title: Wrapper for SQL Server bcp Utility -Version: 0.4.0 +Version: 0.4.2 Authors@R: person("Thomas", "Roh", email = "thomas@roh.engineering", role = c("aut", "cre")) Description: Provides functions to utilize a command line utility that does bulk inserts and exports from SQL Server databases. License: MIT + file LICENSE Encoding: UTF-8 -RoxygenNote: 7.2.2 +RoxygenNote: 7.2.3 SystemRequirements: bcp Utility Depends: R (>= 3.5.0) Imports: data.table, sf, methods diff --git a/NEWS.md b/NEWS.md index 4d69d84..a1b0f1c 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,10 @@ +# bcputility 0.4.2 + +* Added ability to turn on QUOTED_IDENTIFIERS. This is required for some +Microsoft database products. Use the bcp "-q" option. + +* Column names are quoted so that reserved words can be used. + # bcputility 0.4.0 * Override/set path to sqlcmd with diff --git a/R/bcp.R b/R/bcp.R index cb346de..6188d6c 100644 --- a/R/bcp.R +++ b/R/bcp.R @@ -35,11 +35,6 @@ #' \url{https://docs.microsoft.com/en-us/sql/relational-databases/spatial/spatial-data-types-overview}, #' ignored if \code{x} is not an 'sf' object #' -#' @param quotetablename -#' -#' Whether to enclose schema and table names in brackets in bcp command. May -#' not be compatible with some configurations. -#' #' @param bcpOptions #' #' list of additional options to pass to the 'bcp' utility. See details. @@ -93,7 +88,6 @@ bcpImport <- function( '\r\n', '\n'), overwrite = FALSE, spatialtype = c('geometry', 'geography'), - quotetablename = TRUE, bcpOptions = list( '-b', 1000, '-a', 4096, @@ -111,6 +105,7 @@ bcpImport <- function( bcp <- findUtility('bcp') # syntax differs for the two utilities bcpArgs <- mapConnectArgs(connectargs = connectargs, utility = 'bcp') + quotedIdentifiers <- connectargs[['quotedidentifiers']] isSpatial <- methods::is(x, 'sf') if (methods::is(x, 'data.frame')) { tmp <- tempfile(fileext = '.dat') @@ -148,10 +143,9 @@ bcpImport <- function( '-r', shQuote(rowterminator), '-c')) bcpArgs <- append(bcpArgs, list( - if (quotetablename) quoteTable(table = table) else table, + ifelse(quotedIdentifiers, shQuote(table), quoteTable(table = table)), 'in', shQuote(fileName)), after = 0) - tableExists <- checkTableExists(connectargs = connectargs, - table = table) + tableExists <- checkTableExists(connectargs = connectargs, table = table) append <- tableExists && isFALSE(overwrite) if (isFALSE(append)) { # guess sql server data types @@ -170,8 +164,8 @@ bcpImport <- function( } } # create empty table - createOutput <- createTable(connectargs = connectargs, - table = table, coltypes = dbTypes, stderr = TRUE) + createOutput <- createTable(connectargs = connectargs, table = table, + coltypes = dbTypes, stderr = TRUE) if (length(createOutput) != 0) { stop(paste(createOutput, collapse = ' ')) } @@ -441,8 +435,8 @@ createTable <- function(connectargs, table, coltypes, ...) { quotedTable, paste(names(coltypes), coltypes, sep = ' ', collapse = ', ') ) - sqlcmdArgs <- append(mapConnectArgs(connectargs = connectargs, - utility = 'sqlcmd'), values = list('-Q', shQuote(query))) + sqlcmdArgs <- mapConnectArgs(connectargs = connectargs, utility = 'sqlcmd') + sqlcmdArgs <- append(sqlcmdArgs, values = list('-Q', shQuote(query))) system2(command = sqlcmd, args = sqlcmdArgs, ...) } #' @rdname createTable @@ -453,8 +447,8 @@ dropTable <- function(connectargs, table, ...) { sqlcmd <- findUtility('sqlcmd') quotedTable <- quoteTable(table) query <- sprintf('DROP TABLE %s;', quotedTable) - sqlcmdArgs <- append(mapConnectArgs(connectargs = connectargs, - utility = 'sqlcmd'), values = list('-Q', shQuote(query))) + sqlcmdArgs <- mapConnectArgs(connectargs = connectargs, utility = 'sqlcmd') + sqlcmdArgs <- append(sqlcmdArgs, values = list('-Q', shQuote(query))) system2(command = sqlcmd, args = sqlcmdArgs, ...) } #' @rdname createTable @@ -463,21 +457,14 @@ dropTable <- function(connectargs, table, ...) { #' checkTableExists <- function(connectargs, table) { sqlcmd <- findUtility('sqlcmd') - # IF OBJECT_ID('*objectName*', 'U') IS NOT NULL - quotedTable <- quoteTable(table) - quotedTable <- strsplit(x = quotedTable, split = '\\.')[[1]] - if (length(quotedTable) > 2) { - stop('Only `` and `.
` are supported for table - argument.') - } - if (length(quotedTable) < 2) { - quotedTable <- append(quotedTable, '[dbo]', after = 0) - } - query <- sprintf('EXECUTE sp_tables @table_name = %s, @table_owner = %s', - quotedTable[2], quotedTable[1]) - sqlcmdArgs <- append(mapConnectArgs(connectargs = connectargs, - utility = 'sqlcmd'), values = list('-Q', shQuote(query))) - system2(command = sqlcmd, args = sqlcmdArgs, stdout = TRUE)[[3]] != '' + query <- sprintf(" + IF OBJECT_ID('%s') IS NOT NULL + BEGIN PRINT 1 END + ELSE + BEGIN PRINT 0 END", table) + sqlcmdArgs <- mapConnectArgs(connectargs = connectargs, utility = 'sqlcmd') + sqlcmdArgs <- append(sqlcmdArgs, values = list('-Q', shQuote(query))) + identical(system2(command = sqlcmd, args = sqlcmdArgs, stdout = TRUE)[[1]], '1') } readTable <- function(connectargs, table, ...) { sqlcmd <- findUtility('sqlcmd') @@ -485,8 +472,8 @@ readTable <- function(connectargs, table, ...) { query <- sprintf('SET NOCOUNT ON; SELECT * FROM %s;', quotedTable) queryHeaders <- sprintf('SET NOCOUNT ON; SELECT TOP 0 * FROM %s;', quotedTable) - sqlcmdArgs <- append(mapConnectArgs(connectargs = connectargs, - utility = 'sqlcmd'), + sqlcmdArgs <- mapConnectArgs(connectargs = connectargs, utility = 'sqlcmd') + sqlcmdArgs <- append(sqlcmdArgs, values = list( '-s', shQuote(','), '-W', @@ -533,7 +520,7 @@ readTable <- function(connectargs, table, ...) { #' use Azure Active Directory authentication, does not work with integrated #' authentication. #' -#' @param quoteidentifiers +#' @param quotedidentifiers #' #' set QUOTED_IDENTIFIERS option to 'ON' for the connection between bcp/sqlcmd #' and SQL Server. @@ -545,7 +532,7 @@ readTable <- function(connectargs, table, ...) { #' @export makeConnectArgs <- function(server, database, username, password, trustedconnection = TRUE, trustservercert = FALSE, azure = FALSE, - quoteidentifiers = FALSE) { + quotedidentifiers = FALSE) { if (isTRUE(trustedconnection) && isTRUE(azure)) { stop('trustedconnection and azure cannot both be TRUE') } @@ -565,9 +552,9 @@ makeConnectArgs <- function(server, database, username, password, connectArgs <- append(x = connectArgs, values = list(trustservercert = trustservercert)) } - if (isTRUE(quoteidentifiers)) { + if (isTRUE(quotedidentifiers)) { connectArgs <- append(x = connectArgs, - values = list(quoteidentifiers = quoteidentifiers)) + values = list(quotedidentifiers = quotedidentifiers)) } connectArgs } @@ -618,7 +605,7 @@ mapConnectArgs <- function(connectargs, utility = c('sqlcmd', 'bcp') password = '-P', azure = '-G', trustservercert = '-C', - quoteidentifiers = '-I'), + quotedidentifiers = '-I'), bcp = list(server = '-S', database = '-d', trustedconnection = '-T', @@ -626,7 +613,7 @@ mapConnectArgs <- function(connectargs, utility = c('sqlcmd', 'bcp') password = '-P', azure = '-G', trustservercert = '-u', - quoteidentifiers = '-q'), + quotedidentifiers = '-q'), stop('Unsupported utility') ) argSyntax <- argSyntax[names(connectargs)] diff --git a/man/makeConnectArgs.Rd b/man/makeConnectArgs.Rd index 841ecdf..8f8647e 100644 --- a/man/makeConnectArgs.Rd +++ b/man/makeConnectArgs.Rd @@ -12,7 +12,8 @@ makeConnectArgs( password, trustedconnection = TRUE, trustservercert = FALSE, - azure = FALSE + azure = FALSE, + quotedidentifiers = FALSE ) } \arguments{ @@ -30,6 +31,9 @@ makeConnectArgs( \item{azure}{use Azure Active Directory authentication, does not work with integrated authentication.} + +\item{quotedidentifiers}{set QUOTED_IDENTIFIERS option to 'ON' for the connection between bcp/sqlcmd +and SQL Server.} } \value{ a list with connection arguments From 0fc9d559e4782e60428ab9e892e612e8a172d4e2 Mon Sep 17 00:00:00 2001 From: Thomas Roh Date: Sun, 31 Mar 2024 18:04:27 -0700 Subject: [PATCH 07/12] adjusting table quoting --- R/bcp.R | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/R/bcp.R b/R/bcp.R index 6188d6c..ca2334a 100644 --- a/R/bcp.R +++ b/R/bcp.R @@ -143,7 +143,7 @@ bcpImport <- function( '-r', shQuote(rowterminator), '-c')) bcpArgs <- append(bcpArgs, list( - ifelse(quotedIdentifiers, shQuote(table), quoteTable(table = table)), + quoteTable(table = table), 'in', shQuote(fileName)), after = 0) tableExists <- checkTableExists(connectargs = connectargs, table = table) append <- tableExists && isFALSE(overwrite) @@ -458,10 +458,10 @@ dropTable <- function(connectargs, table, ...) { checkTableExists <- function(connectargs, table) { sqlcmd <- findUtility('sqlcmd') query <- sprintf(" - IF OBJECT_ID('%s') IS NOT NULL + IF OBJECT_ID('%s', 'U') IS NOT NULL BEGIN PRINT 1 END ELSE - BEGIN PRINT 0 END", table) + BEGIN PRINT 0 END", unQuoteTable(table)) sqlcmdArgs <- mapConnectArgs(connectargs = connectargs, utility = 'sqlcmd') sqlcmdArgs <- append(sqlcmdArgs, values = list('-Q', shQuote(query))) identical(system2(command = sqlcmd, args = sqlcmdArgs, stdout = TRUE)[[1]], '1') @@ -571,6 +571,17 @@ quoteTable <- function(table) { sprintf('[%s]', x) }), collapse = '.') } +unQuoteTable <- function(table) { + paste(lapply(strsplit(table, split = '\\.')[[1]], function(x) { + if (substring(text = x, first = 1, last = 1) == '[' && + substring(text = x, + first = nchar(x), + last = nchar(x)) == ']') { + return(substring(text = x, first = 2, last = nchar(x) - 1)) + } + x + }), collapse = '.') +} convertGeoCol <- function(connectargs, table, geometrycol, binarycol, spatialtype, srid, ...) { sqlcmd <- findUtility(utility = 'sqlcmd') From e13bdd0a87da8709a44a6227e826687633d97743 Mon Sep 17 00:00:00 2001 From: Thomas Roh Date: Sun, 31 Mar 2024 18:18:13 -0700 Subject: [PATCH 08/12] doc for test --- tests/a-init-db.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/a-init-db.R b/tests/a-init-db.R index ea2a6c3..00c3d4b 100644 --- a/tests/a-init-db.R +++ b/tests/a-init-db.R @@ -6,7 +6,7 @@ library(bcputility) # variables MSSQL_SERVER and MSSQL_DB or modify the `makeConnectArgs` function # below. It is best to `source` this file from the package home directory. -# Writes the data to SQL Server if TRUES +# Writes the data to SQL Server if TRUE initDB <- FALSE # This should never need to be TRUE as the internall R data is already contained # in the package. From 253d7134e33bf37a01414e507d465da0c485e09d Mon Sep 17 00:00:00 2001 From: Thomas Roh Date: Mon, 1 Apr 2024 09:59:37 -0700 Subject: [PATCH 09/12] quoting table name for bcp is unnecessary --- R/bcp.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/bcp.R b/R/bcp.R index 7a644a2..31a27c3 100644 --- a/R/bcp.R +++ b/R/bcp.R @@ -143,7 +143,7 @@ bcpImport <- function( '-r', shQuote(rowterminator), '-c')) bcpArgs <- append(bcpArgs, list( - quoteTable(table = table), + table = table, 'in', shQuote(fileName)), after = 0) tableExists <- checkTableExists(connectargs = connectargs, table = table) append <- tableExists && isFALSE(overwrite) From d184b626fcef0a7de631600b8cdd9d2f7997cc4a Mon Sep 17 00:00:00 2001 From: Thomas Roh Date: Tue, 2 Apr 2024 06:47:33 -0700 Subject: [PATCH 10/12] testing updates --- R/sysdata.rda | Bin 0 -> 115695 bytes tests/b-import-db.R | 1 + tests/c-export-db.R | 3 ++- tests/d-types.R | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 R/sysdata.rda diff --git a/R/sysdata.rda b/R/sysdata.rda new file mode 100644 index 0000000000000000000000000000000000000000..99acb778c49494beea6aee3399afd6dece6bba1f GIT binary patch literal 115695 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 literal 0 HcmV?d00001 diff --git a/tests/b-import-db.R b/tests/b-import-db.R index 71d55be..441fc4a 100644 --- a/tests/b-import-db.R +++ b/tests/b-import-db.R @@ -237,4 +237,5 @@ if (identical(Sys.getenv('NOT_CRAN'), 'true') && isTRUE(testLocal)) { database <- Sys.getenv('MSSQL_DB') connectArgs <- makeConnectArgs(server = server, database = database) testImport(connectargs = connectArgs) + print('All import tests passed') } diff --git a/tests/c-export-db.R b/tests/c-export-db.R index cbd9392..b564ab4 100644 --- a/tests/c-export-db.R +++ b/tests/c-export-db.R @@ -1,5 +1,5 @@ library(bcputility) -testLocal <- FALSE +testLocal <- TRUE if (identical(Sys.getenv('NOT_CRAN'), 'true') && isTRUE(testLocal)) { testExport <- function(connectargs) { on.exit( @@ -72,4 +72,5 @@ if (identical(Sys.getenv('NOT_CRAN'), 'true') && isTRUE(testLocal)) { database <- Sys.getenv('MSSQL_DB') connectArgs <- makeConnectArgs(server = server, database = database) testExport(connectargs = connectArgs) + print('All export tests passed') } diff --git a/tests/d-types.R b/tests/d-types.R index c8888f4..916af66 100644 --- a/tests/d-types.R +++ b/tests/d-types.R @@ -40,3 +40,4 @@ testTypeMapping <- function() { stopifnot() } testTypeMapping() +print('All data type tests passed') From ebe0b8551493f4a6818bf87156ce877cf1f2bddb Mon Sep 17 00:00:00 2001 From: Thomas Roh Date: Tue, 2 Apr 2024 07:02:31 -0700 Subject: [PATCH 11/12] adding docs --- docs/404.html | 2 +- docs/LICENSE-text.html | 2 +- docs/LICENSE.html | 2 +- docs/authors.html | 6 ++--- docs/index.html | 34 ++++++++++++------------ docs/news/index.html | 11 +++++--- docs/pkgdown.yml | 4 +-- docs/reference/SQLServerCLIVersions.html | 2 +- docs/reference/bcpExport.html | 2 +- docs/reference/bcpImport.html | 4 +-- docs/reference/createTable.html | 2 +- docs/reference/index.html | 16 +++++------ docs/reference/makeConnectArgs.html | 10 +++++-- docs/reference/mapDataTypes.html | 2 +- docs/sitemap.xml | 6 ++--- tests/c-export-db.R | 2 +- 16 files changed, 59 insertions(+), 48 deletions(-) diff --git a/docs/404.html b/docs/404.html index ed6b215..eec35d9 100644 --- a/docs/404.html +++ b/docs/404.html @@ -39,7 +39,7 @@ bcputility - 0.4.0 + 0.4.2 diff --git a/docs/LICENSE-text.html b/docs/LICENSE-text.html index 353b9cf..58d6c6f 100644 --- a/docs/LICENSE-text.html +++ b/docs/LICENSE-text.html @@ -17,7 +17,7 @@ bcputility - 0.4.0 + 0.4.2 diff --git a/docs/LICENSE.html b/docs/LICENSE.html index 33e5ee9..f440ff9 100644 --- a/docs/LICENSE.html +++ b/docs/LICENSE.html @@ -17,7 +17,7 @@ bcputility - 0.4.0 + 0.4.2 diff --git a/docs/authors.html b/docs/authors.html index ef8fbbc..f196ad6 100644 --- a/docs/authors.html +++ b/docs/authors.html @@ -17,7 +17,7 @@ bcputility - 0.4.0 + 0.4.2 @@ -61,14 +61,14 @@

Citation

-

Roh T (2023). +

Roh T (2024). bcputility: Wrapper for SQL Server bcp Utility. https://bcputility.roh.engineering, https://github.com/tomroh/bcputility.

@Manual{,
   title = {bcputility: Wrapper for SQL Server bcp Utility},
   author = {Thomas Roh},
-  year = {2023},
+  year = {2024},
   note = {https://bcputility.roh.engineering, https://github.com/tomroh/bcputility},
 }
diff --git a/docs/index.html b/docs/index.html index c3ab272..9c80e14 100644 --- a/docs/index.html +++ b/docs/index.html @@ -40,7 +40,7 @@ bcputility - 0.4.0 + 0.4.2 @@ -125,11 +125,11 @@

Import as.POSIXct('2022-12-31 23:59:59'), by = 'min'), size = n, replace = TRUE) ) connectArgs <- makeConnectArgs(server = server, database = database) -con <- DBI::dbConnect(odbc::odbc(), +con <- DBI::dbConnect(odbc::odbc(), Driver = "SQL Server", Server = server, Database = database) -importResults <- microbenchmark::microbenchmark( +importResults <- microbenchmark::microbenchmark( bcpImport1000 = { bcpImport(importTable, connectargs = connectArgs, @@ -163,7 +163,7 @@

Import stdout = FALSE) }, dbWriteTable = { - con <- DBI::dbConnect(odbc::odbc(), + con <- DBI::dbConnect(odbc::odbc(), Driver = driver, Server = server, Database = database, @@ -255,7 +255,7 @@

Export Tabledata.table”. Optimized write formats for date times from fwrite outperforms bcp for data that is small enough to be pulled into memory.

-exportResults <- microbenchmark::microbenchmark(
+exportResults <- microbenchmark::microbenchmark(
   bcpExportChar = {
     bcpExport('inst/benchmarks/test1.csv',
               connectargs = connectArgs,
@@ -271,7 +271,7 @@ 

Export Table= FALSE) }, fwriteQuery = { - fwrite(DBI::dbReadTable(con, 'importTableInit'), + fwrite(DBI::dbReadTable(con, 'importTableInit'), 'inst/benchmarks/test3.csv', dateTimeAs = 'write.csv', col.names = FALSE) }, @@ -340,7 +340,7 @@

Export Query
 query <- 'SELECT * FROM [dbo].[importTable1] WHERE int < 1000'
-queryResults <- microbenchmark::microbenchmark(
+queryResults <- microbenchmark::microbenchmark(
   bcpExportQueryChar = {
     bcpExport('inst/benchmarks/test4.csv',
               connectargs = connectArgs,
@@ -356,7 +356,7 @@ 

Export Query= FALSE) }, fwriteQuery = { - fwrite(DBI::dbGetQuery(con, query), + fwrite(DBI::dbGetQuery(con, query), 'inst/benchmarks/test6.csv', dateTimeAs = 'write.csv', col.names = FALSE) }, @@ -431,7 +431,7 @@

Import Geometryshp1 <- cbind(nc[sample.int(nrow(nc), n / divN, replace = TRUE),], importTable[seq_len(n / divN), ], id = seq_len(n / divN)) -geometryResults <- microbenchmark::microbenchmark( +geometryResults <- microbenchmark::microbenchmark( bcpImportGeometry = { bcpImport(shp1, connectargs = connectArgs, @@ -442,7 +442,7 @@

Import Geometry bcpOptions = list("-b", 50000, "-a", 4096, "-m", 0)) }, odbcImportGeometry = { - con <- DBI::dbConnect(odbc::odbc(), + con <- DBI::dbConnect(odbc::odbc(), driver = driver, server = server, database = database, @@ -452,11 +452,11 @@

Import Geometry geometryColumn <- 'geom' binaryColumn <- 'geomWkb' srid <- sf::st_crs(nc)$epsg - shpBin2 <- data.table(shp1) - data.table::set(x = shpBin2, j = binaryColumn, + shpBin2 <- data.table(shp1) + data.table::set(x = shpBin2, j = binaryColumn, value = blob::new_blob(lapply(sf::st_as_binary(shpBin2[[geometryColumn]]), as.raw))) - data.table::set(x = shpBin2, j = geometryColumn, value = NULL) + data.table::set(x = shpBin2, j = geometryColumn, value = NULL) dataTypes <- DBI::dbDataType(con, shpBin2) dataTypes[binaryColumn] <- 'varbinary(max)' DBI::dbWriteTable(conn = con, name = tableName, value = shpBin2, @@ -480,7 +480,7 @@

Import Geometry bcpOptions = list("-b", 50000, "-a", 4096, "-m", 0)) }, odbcImportGeography = { - con <- DBI::dbConnect(odbc::odbc(), + con <- DBI::dbConnect(odbc::odbc(), driver = driver, server = server, database = database, @@ -490,11 +490,11 @@

Import Geometry geometryColumn <- 'geom' binaryColumn <- 'geomWkb' srid <- sf::st_crs(nc)$epsg - shpBin4 <- data.table(shp1) - data.table::set(x = shpBin4, j = binaryColumn, + shpBin4 <- data.table(shp1) + data.table::set(x = shpBin4, j = binaryColumn, value = blob::new_blob(lapply(sf::st_as_binary(shpBin4[[geometryColumn]]), as.raw))) - data.table::set(x = shpBin4, j = geometryColumn, value = NULL) + data.table::set(x = shpBin4, j = geometryColumn, value = NULL) dataTypes <- DBI::dbDataType(con, shpBin4) dataTypes[binaryColumn] <- 'varbinary(max)' DBI::dbWriteTable(conn = con, name = tableName, value = shpBin4, diff --git a/docs/news/index.html b/docs/news/index.html index e46fd7f..5cc4bfe 100644 --- a/docs/news/index.html +++ b/docs/news/index.html @@ -17,7 +17,7 @@ bcputility - 0.4.0 + 0.4.2

@@ -48,7 +48,12 @@

Changelog

- + +
  • Added ability to turn on QUOTED_IDENTIFIERS. This is required for some Microsoft database products. Use the bcp “-q” option.

  • +
  • Column names are quoted so that reserved words can be used.

  • +
+
+
  • Override/set path to sqlcmd with options(bcputility.sqlcmd.path = "<path-to-sqlcmd>")

  • Added bcpVersion and sqlcmdVersion to check versions.

  • Specify tables without schema strictly as a character vector of size 1 e.g. "<schema>.<table>". The schema and table will be quoted although special characters are not recommended except for “_“.

  • @@ -74,7 +79,7 @@
    • set the path to the bcp utility with the bcputility.bcp.path option

    • added links to source code, bug reports, and documentation site

    • -
    • rowterminator and fieldterminator are no passed to data.table::fwrite if data is in memory

    • +
    • rowterminator and fieldterminator are no passed to data.table::fwrite if data is in memory

    • Added support for geometry/geography data import for ‘sf’ objects

diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml index 8eaf8b1..33a1275 100644 --- a/docs/pkgdown.yml +++ b/docs/pkgdown.yml @@ -1,6 +1,6 @@ -pandoc: 2.19.2 +pandoc: 3.1.1 pkgdown: 2.0.7 pkgdown_sha: ~ articles: {} -last_built: 2023-01-16T22:28Z +last_built: 2024-04-02T13:57Z diff --git a/docs/reference/SQLServerCLIVersions.html b/docs/reference/SQLServerCLIVersions.html index 69af34c..e020a3e 100644 --- a/docs/reference/SQLServerCLIVersions.html +++ b/docs/reference/SQLServerCLIVersions.html @@ -17,7 +17,7 @@ bcputility - 0.4.0 + 0.4.2
diff --git a/docs/reference/bcpExport.html b/docs/reference/bcpExport.html index 8a2b793..b608288 100644 --- a/docs/reference/bcpExport.html +++ b/docs/reference/bcpExport.html @@ -18,7 +18,7 @@ bcputility - 0.4.0 + 0.4.2 diff --git a/docs/reference/bcpImport.html b/docs/reference/bcpImport.html index a81ddc0..791dc96 100644 --- a/docs/reference/bcpImport.html +++ b/docs/reference/bcpImport.html @@ -18,7 +18,7 @@ bcputility - 0.4.0 + 0.4.2 @@ -118,7 +118,7 @@

Value

Details

-

If x is a dataframe object, data.table::fwrite is used to write the +

If x is a dataframe object, data.table::fwrite is used to write the in memory object to disk in a temporary file that is deleted when the function exits. The fieldterminator and rowterminator are ignored in this case.

diff --git a/docs/reference/createTable.html b/docs/reference/createTable.html index 6831243..753982c 100644 --- a/docs/reference/createTable.html +++ b/docs/reference/createTable.html @@ -17,7 +17,7 @@ bcputility - 0.4.0 + 0.4.2
diff --git a/docs/reference/index.html b/docs/reference/index.html index c38dc4c..33ef9f0 100644 --- a/docs/reference/index.html +++ b/docs/reference/index.html @@ -17,7 +17,7 @@ bcputility - 0.4.0 + 0.4.2 @@ -59,23 +59,23 @@

All functions

- + - + - +

Import data to SQL Server

-

createTable() dropTable() checkTableExists()

+

bcpVersion() sqlcmdVersion()

Create or drop table

Check bcp and sqlcmd versions

-

mapDataTypes() varChar() varBinary() int()

+

createTable() dropTable() checkTableExists()

Determine SQL Server data types from data frame. Follows SQL Server -data type size constraints and chooses the smallest data type size.

Create or drop table

makeConnectArgs()

Create a named list of connection arguments to translate to bcp and sqlcmd options

-

bcpVersion() sqlcmdVersion()

+

mapDataTypes() varChar() varBinary() int()

Check bcp and sqlcmd versions

Determine SQL Server data types from data frame. Follows SQL Server +data type size constraints and chooses the smallest data type size.

@@ -65,7 +65,8 @@

Create a named list of connection arguments to translate to bcp and password, trustedconnection = TRUE, trustservercert = FALSE, - azure = FALSE + azure = FALSE, + quotedidentifiers = FALSE ) @@ -99,6 +100,11 @@

Arguments

use Azure Active Directory authentication, does not work with integrated authentication.

+ +
quotedidentifiers
+

set QUOTED_IDENTIFIERS option to 'ON' for the connection between bcp/sqlcmd +and SQL Server.

+

Value

diff --git a/docs/reference/mapDataTypes.html b/docs/reference/mapDataTypes.html index cddaeb4..5e86402 100644 --- a/docs/reference/mapDataTypes.html +++ b/docs/reference/mapDataTypes.html @@ -20,7 +20,7 @@ bcputility - 0.4.0 + 0.4.2
diff --git a/docs/sitemap.xml b/docs/sitemap.xml index f7bf88d..6d3a725 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -10,16 +10,16 @@ /reference/bcpExport.html - /reference/createTable.html + /reference/SQLServerCLIVersions.html - /reference/mapDataTypes.html + /reference/createTable.html /reference/makeConnectArgs.html - /reference/SQLServerCLIVersions.html + /reference/mapDataTypes.html /news/index.html diff --git a/tests/c-export-db.R b/tests/c-export-db.R index b564ab4..3033703 100644 --- a/tests/c-export-db.R +++ b/tests/c-export-db.R @@ -1,5 +1,5 @@ library(bcputility) -testLocal <- TRUE +testLocal <- FALSE if (identical(Sys.getenv('NOT_CRAN'), 'true') && isTRUE(testLocal)) { testExport <- function(connectargs) { on.exit( From 001674917c20b2e3ccc33b34953836031a4c56ba Mon Sep 17 00:00:00 2001 From: Thomas Roh Date: Wed, 3 Apr 2024 10:23:16 -0700 Subject: [PATCH 12/12] changing gh actions to v2 --- .github/workflows/R-CMD-check.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 6dc366a..3e91f34 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -33,11 +33,11 @@ jobs: steps: - uses: actions/checkout@v2 - - uses: r-lib/actions/setup-r@v1 + - uses: r-lib/actions/setup-r@v2 with: r-version: ${{ matrix.config.r }} - - uses: r-lib/actions/setup-pandoc@v1 + - uses: r-lib/actions/setup-pandoc@v2 - name: Query dependencies run: |