Odbc Versions Save

Connect to ODBC databases (using the DBI interface)

v1.2.2

4 years ago
  • The configure script now again uses iodbc-config on macOS, if available.

  • Fix errors with drivers who do not fully implement SQLGetInfo (#325).

v1.2.1

4 years ago
  • Fix the unicode character width issues with the macOS odbc CRAN binary. (#283)

  • The configure script now works on systems whose /bin/sh does not support command substitution, such as Solaris 10.

v1.2.0

4 years ago

Features

  • sqlCreateTable() and dbWriteTable() now throw an error if you mistakenly include field.types names which do not exist in the input data. (#271)

  • The error message when trying to write tables with unsupported types now includes the column name (#238).

  • dbConnect() now has a new param timezone_out which is useful if the user wants the datetime values be marked with a specific timezone instead of UTC (@shrektan, #294).

  • dbGetQuery(), dbSendQuery() and dbSendStatement() gain a immediate argument to execute the statement or query immediately instead of preparing, then executing the statement. (#272, @krlmlr)

  • dbGetQuery(), dbSendQuery() and dbSendStatement() gain a params argument, which allows them to be used (indirectly) by DBI::dbAppendTable() (#210, #215, #261).

  • dbWriteTable() and dbBind() methods gain a batch_rows argument, to control how many rows are bound in each batch. The default can be set globally with options(odbc.batch_rows). This is useful if your database performs better with a larger or smaller number of rows per batch than the default of 1024. (#297)

  • New odbcConnectionColumns() function to describe the column types. This data is used when binding columns, which allows drivers which do not support the SQLDescribeParam() ODBC function, such as freeTDS to work better with bound columns. (#313, @detule)

  • Added a Teradata odbcDataType() to support writing logical data to Teradata servers (#240, @blarj09).

  • Added a Access odbcDataType() method to support writing to Access databases (#262, @vh-d)

  • odbcListDrivers() gains a keep and filter argument and global options odbc.drivers_keep, odbc.drivers_filter to keep and filter the drivers returned. This is useful if system administrators want to reduce the number of drivers shown to users. (@blairj09, #274)

  • Subseconds are now retained when inserting POSIXct objects (#130, #208)

  • The RStudio Connections Pane now shows the DSN, when available (#304, @davidchall).

Bugfixes

  • SQL Server ODBC's now supports the '-155' data type, and its losing sub-second precision on timestamps; this still returns type DATETIMEOFFSET as a character, but it preserves sub-seconds and has a numeric timezone offset (@r2evans, #207).

  • dbExistsTable() now handles the case-sensitivity consistently as other methods (@shrektan, #285).

  • dbExistsTable() now works for SQL Server when specifying schemas but not catalogs using the freeTDS and Simba drivers. (#197)

  • DBI::dbListFields() no longer fails when used with a a qualified Id object (using both schema and table) (#226).

  • dbWriteTable() now always writes NA_character as NULL for data.frame with only one row (@shrektan, #288).

  • Fix an issue that the date value fetched from the database may be one day before its real value (@shrektan, #295).

v1.1.2

6 years ago
  • Fix the return value for dbQuoteIdentifier() when given a length 0 input (#146 @edgararuiz).

v1.1.1

6 years ago
  • Workaround for drivers which do not implement SQLGetInfo, such as the Access driver. (#78)

  • Fix for installation error for systems without GNU Make as the default make, such as Solaris.

v1.1.0

6 years ago
  • Provide a fall backs for drivers which do not support SQLDescribeParam and those which do not support transactions.

  • sqlCreateTable() gains a fieldTypes argument, which allows one to override a column type for a given table, if the default type is not appropriate.

  • Support for databases with non UTF-8 encodings. Use the encoding parameter to dbConnect() to specify the database encoding.

  • Support for the SQL Connection Pane in the RStudio IDE.

  • Unknown fields no longer throw a warning, instead they signal a custom condition, which can be caught if desired with

    withCallingHandlers(expr, odbc_unknown_field_type = function(e) {...} )

  • Conversion to and from timezones is handled by the cctz library. If the database is in a non-UTC timezone it can be specified with the timezone parameter to dbConnect().

  • Time objects are converted to and from hms objects.

  • 64 bit integers are converted to and from bit64 objects.

  • Support table creation for Impala and Hive Databases (# 38, @edgararuiz).