From 60af809968f5029579801d1c3d35ec1cbb647456 Mon Sep 17 00:00:00 2001 From: simonpcouch Date: Tue, 19 Dec 2023 14:46:19 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20r-dbi/od?= =?UTF-8?q?bc@6a8e295be8fed7c42d170f11971f8fe0201adc24=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dev/news/index.html | 3 +- dev/pkgdown.yml | 2 +- dev/reference/figures/r-interface.png | Bin 226055 -> 156032 bytes dev/reference/index.html | 5 ++ dev/reference/odbcListConfig.html | 117 ++++++++++++++++++++++++++ dev/search.json | 2 +- dev/sitemap.xml | 3 + 7 files changed, 129 insertions(+), 3 deletions(-) create mode 100644 dev/reference/odbcListConfig.html diff --git a/dev/news/index.html b/dev/news/index.html index 79beb5fb..454c7827 100644 --- a/dev/news/index.html +++ b/dev/news/index.html @@ -54,7 +54,8 @@

odbc (development version)

-

odbc 1.4.0

CRAN release: 2023-12-15

diff --git a/dev/pkgdown.yml b/dev/pkgdown.yml index 81375899..bac33efc 100644 --- a/dev/pkgdown.yml +++ b/dev/pkgdown.yml @@ -5,7 +5,7 @@ articles: benchmarks: benchmarks.html develop: develop.html setup: setup.html -last_built: 2023-12-19T14:41Z +last_built: 2023-12-19T14:46Z urls: reference: https://r-dbi.github.io/odbc/reference article: https://r-dbi.github.io/odbc/articles diff --git a/dev/reference/figures/r-interface.png b/dev/reference/figures/r-interface.png index b6401058073f8379fdd62c428806564b1357158b..367e7c8e81173f4cdc0fe6e5bc574b9b5c0c4f75 100644 GIT binary patch literal 156032 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 Kzn!mW?)N`bBL`#v literal 226055 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%0A? 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 KT%pX9fd2y;f@nnm diff --git a/dev/reference/index.html b/dev/reference/index.html index ed1173e7..95fd3019 100644 --- a/dev/reference/index.html +++ b/dev/reference/index.html @@ -151,6 +151,11 @@

ODBC configurationodbcListConfig() + +
List locations of ODBC configuration files
+
+ odbcListDataSources()
List Configured Data Source Names
diff --git a/dev/reference/odbcListConfig.html b/dev/reference/odbcListConfig.html new file mode 100644 index 00000000..200b86bf --- /dev/null +++ b/dev/reference/odbcListConfig.html @@ -0,0 +1,117 @@ + +List locations of ODBC configuration files — odbcListConfig • odbc + Skip to contents + + +
+
+
+ +
+

On MacOS and Linux, odbc uses the unixODBC driver manager to manage +information about driver and data sources. This helper returns the filepaths +where the driver manager will look for that information.

+

This function is a wrapper around the command line call odbcinst -j.

+

Windows does not use .ini configuration files; this function will return a +0-length vector on Windows.

+
+ +
+

Usage

+
odbcListConfig()
+
+ +
+

See also

+

The odbcListDrivers() and odbcListDataSources() helpers return +information on the contents of odbcinst.ini and odbc.ini files, +respectively.

+

Learn more about unixODBC and the odbcinst utility +here.

+
+ +
+

Examples

+
if (FALSE) {
+configs <- odbcListConfig()
+
+file.edit(configs[1])
+}
+
+
+
+ + +
+ + + +
+ + + + + + + diff --git a/dev/search.json b/dev/search.json index 3762d6bb..730a8416 100644 --- a/dev/search.json +++ b/dev/search.json @@ -1 +1 @@ -[{"path":[]},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"our-pledge","dir":"","previous_headings":"","what":"Our Pledge","title":"Contributor Covenant Code of Conduct","text":"members, contributors, leaders pledge make participation community harassment-free experience everyone, regardless age, body size, visible invisible disability, ethnicity, sex characteristics, gender identity expression, level experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, sexual identity orientation. pledge act interact ways contribute open, welcoming, diverse, inclusive, healthy community.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"our-standards","dir":"","previous_headings":"","what":"Our Standards","title":"Contributor Covenant Code of Conduct","text":"Examples behavior contributes positive environment community include: Demonstrating empathy kindness toward people respectful differing opinions, viewpoints, experiences Giving gracefully accepting constructive feedback Accepting responsibility apologizing affected mistakes, learning experience Focusing best just us individuals, overall community Examples unacceptable behavior include: use sexualized language imagery, sexual attention advances kind Trolling, insulting derogatory comments, personal political attacks Public private harassment Publishing others’ private information, physical email address, without explicit permission conduct reasonably considered inappropriate professional setting","code":""},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"enforcement-responsibilities","dir":"","previous_headings":"","what":"Enforcement Responsibilities","title":"Contributor Covenant Code of Conduct","text":"Community leaders responsible clarifying enforcing standards acceptable behavior take appropriate fair corrective action response behavior deem inappropriate, threatening, offensive, harmful. Community leaders right responsibility remove, edit, reject comments, commits, code, wiki edits, issues, contributions aligned Code Conduct, communicate reasons moderation decisions appropriate.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"scope","dir":"","previous_headings":"","what":"Scope","title":"Contributor Covenant Code of Conduct","text":"Code Conduct applies within community spaces, also applies individual officially representing community public spaces. Examples representing community include using official e-mail address, posting via official social media account, acting appointed representative online offline event.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"enforcement","dir":"","previous_headings":"","what":"Enforcement","title":"Contributor Covenant Code of Conduct","text":"Instances abusive, harassing, otherwise unacceptable behavior may reported community leaders responsible enforcement codeofconduct@posit.co. complaints reviewed investigated promptly fairly. community leaders obligated respect privacy security reporter incident.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"enforcement-guidelines","dir":"","previous_headings":"","what":"Enforcement Guidelines","title":"Contributor Covenant Code of Conduct","text":"Community leaders follow Community Impact Guidelines determining consequences action deem violation Code Conduct:","code":""},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"id_1-correction","dir":"","previous_headings":"Enforcement Guidelines","what":"1. Correction","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Use inappropriate language behavior deemed unprofessional unwelcome community. Consequence: private, written warning community leaders, providing clarity around nature violation explanation behavior inappropriate. public apology may requested.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"id_2-warning","dir":"","previous_headings":"Enforcement Guidelines","what":"2. Warning","title":"Contributor Covenant Code of Conduct","text":"Community Impact: violation single incident series actions. Consequence: warning consequences continued behavior. interaction people involved, including unsolicited interaction enforcing Code Conduct, specified period time. includes avoiding interactions community spaces well external channels like social media. Violating terms may lead temporary permanent ban.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"id_3-temporary-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"3. Temporary Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: serious violation community standards, including sustained inappropriate behavior. Consequence: temporary ban sort interaction public communication community specified period time. public private interaction people involved, including unsolicited interaction enforcing Code Conduct, allowed period. Violating terms may lead permanent ban.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"id_4-permanent-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"4. Permanent Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Demonstrating pattern violation community standards, including sustained inappropriate behavior, harassment individual, aggression toward disparagement classes individuals. Consequence: permanent ban sort public interaction within community.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"attribution","dir":"","previous_headings":"","what":"Attribution","title":"Contributor Covenant Code of Conduct","text":"Code Conduct adapted Contributor Covenant, version 2.1, available https://www.contributor-covenant.org/version/2/1/code_of_conduct.html. Community Impact Guidelines inspired [Mozilla’s code conduct enforcement ladder][https://github.com/mozilla/inclusion]. answers common questions code conduct, see FAQ https://www.contributor-covenant.org/faq. Translations available https://www.contributor-covenant.org/translations.","code":""},{"path":[]},{"path":[]},{"path":"https://r-dbi.github.io/odbc/dev/ISSUE_TEMPLATE.html","id":"reproducible-example","dir":"","previous_headings":"","what":"Reproducible Example","title":"NA","text":"","code":"devtools::session_info() #> output"},{"path":"https://r-dbi.github.io/odbc/dev/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"MIT License","title":"MIT License","text":"Copyright (c) 2023 odbc authors Permission hereby granted, free charge, person obtaining copy software associated documentation files (“Software”), deal Software without restriction, including without limitation rights use, copy, modify, merge, publish, distribute, sublicense, /sell copies Software, permit persons Software furnished , subject following conditions: copyright notice permission notice shall included copies substantial portions Software. SOFTWARE PROVIDED “”, WITHOUT WARRANTY KIND, EXPRESS IMPLIED, INCLUDING LIMITED WARRANTIES MERCHANTABILITY, FITNESS PARTICULAR PURPOSE NONINFRINGEMENT. EVENT SHALL AUTHORS COPYRIGHT HOLDERS LIABLE CLAIM, DAMAGES LIABILITY, WHETHER ACTION CONTRACT, TORT OTHERWISE, ARISING , CONNECTION SOFTWARE USE DEALINGS SOFTWARE.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/MAINTENANCE.html","id":"current-state","dir":"","previous_headings":"","what":"Current state","title":"NA","text":"odbc stable, though still corner cases issues certain database backends. Mostly around text encodings, datetime logical formats.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/MAINTENANCE.html","id":"known-outstanding-issues","dir":"","previous_headings":"","what":"Known outstanding issues","title":"NA","text":"“Developing odbc” vignette vignette(\"develop\") contains instructions running tests locally, important make feedback loop shorter. hardest part maintaining odbc often issue occurs specific database, setting environment database usually takes non-trivial amount time.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/MAINTENANCE.html","id":"future-directions","dir":"","previous_headings":"","what":"Future directions","title":"NA","text":"Convert using Rcpp using cpp11. urgent, basically r-lib/tidyverse packages converted. Look updating version nanodbc newer version. complicated fact nanodbc now requires C++14, can’t really drop unless want bump odbc require C++14. Alternatively look recent nanodbc comments port current version odbc. use cases.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/articles/benchmarks.html","id":"setup","dir":"Articles","previous_headings":"","what":"Setup","title":"Benchmarks","text":"RODBC RODBCDBI trip flights’ tibble subclass, ’ll convert data frame passing package. Also, RODBCDBI package support writing timestamps, remove column well. Now, let’s configure three driver connections Microsoft SQL Server database, one package ’ll benchmarking. code requires dsn MicrosoftSQLServer previously configured; see vignettes(\"setup\") learn .","code":"flights$time_hour <- NULL flights <- as.data.frame(flights) odbc <- dbConnect(odbc::odbc(), dsn = \"MicrosoftSQLServer\", uid = \"SA\", pwd = \"BoopBop123!\") rodbc <- RODBC::odbcConnect(dsn = \"MicrosoftSQLServer\", uid = \"SA\", pwd = \"BoopBop123!\") rodbcdbi <- dbConnect(RODBCDBI::ODBC(), dsn = \"MicrosoftSQLServer\", user = \"SA\", password = \"BoopBop123!\")"},{"path":"https://r-dbi.github.io/odbc/dev/articles/benchmarks.html","id":"writing","dir":"Articles","previous_headings":"","what":"Writing","title":"Benchmarks","text":"’ll first benchmark writing flights dataset, contains ~300,000 rows 18 columns, database. code odbc RODBCDBI looks quite similar, use DBI front-end: timings RODBC RODBCDBI quite similar, utilize RODBC back-end:","code":"odbc_write <- system.time(dbWriteTable(odbc, \"flights\", flights)) odbc_write #> user system elapsed #> 0.883 0.176 8.108 rodbcdbi_write <- system.time(dbWriteTable(rodbcdbi, \"flights\", flights)) rodbcdbi_write #> user system elapsed #> 8.287 11.107 257.841 rodbc_write <- system.time(sqlSave(rodbc, flights, \"flights\")) rodbc_write #> user system elapsed #> 8.266 11.023 235.825"},{"path":"https://r-dbi.github.io/odbc/dev/articles/benchmarks.html","id":"reading","dir":"Articles","previous_headings":"","what":"Reading","title":"Benchmarks","text":", syntax odbc RODBCDBI identical, timings RODBCDBI RODBC quite similar.","code":"odbc_read <- system.time(result <- dbReadTable(odbc, \"flights\")) rodbcdbi_read <- system.time(result <- dbReadTable(rodbcdbi, \"flights\")) rodbc_read <- system.time(result <- sqlFetch(rodbc, \"flights\")) odbc_read #> user system elapsed #> 0.515 0.024 0.557 rodbcdbi_read #> user system elapsed #> 1.308 0.035 1.356 rodbc_read #> user system elapsed #> 1.291 0.033 1.343"},{"path":"https://r-dbi.github.io/odbc/dev/articles/develop.html","id":"postgresql","dir":"Articles","previous_headings":"","what":"PostgreSQL","title":"Developing odbc","text":"MacOS, install PostgreSQL : ’ll also need install configure PostgreSQL driver psqlodbc; see vignette(\"setup\") learn . launch PostgreSQL server locally, run: Next, create database called “test” (whatever name entry Database odbc.ini file): point, able connect PostgreSQL R interface. Connect : \"PostgreSQL\" replaced whatever DSN ’ve configured.","code":"brew install postgresql@14 brew services start postgresql@14 createdb test postgres <- dbConnect(odbc(), \"PostgreSQL\")"},{"path":"https://r-dbi.github.io/odbc/dev/articles/develop.html","id":"mysql","dir":"Articles","previous_headings":"","what":"MySQL","title":"Developing odbc","text":"First, installing MySQL Homebrew: MariaDB drivers compatible MySQL easily installed MySQL drivers cases. install MariaDB driver: , link MariaDB driver MySQL data source name. , driver name [MariaDB] configuring MariaDB install odbcinst.ini, first lines odbc.ini entry look something like: running brew services start mysql needed, confirming database running brew services info mysql, able : second argument \"MySQL\" refers data source name configured .","code":"brew install mysql@8.2 brew install mariadb-connector-odbc [MySQL] Driver = MariaDB library(odbc) dbConnect(odbc(), \"MySQL\")"},{"path":"https://r-dbi.github.io/odbc/dev/articles/develop.html","id":"sql-server-test-setup","dir":"Articles","previous_headings":"","what":"SQL Server test setup","title":"Developing odbc","text":"run Microsoft SQL Server aarch64 (e.g. M1 M2) MacOS, need: Docker 4.16 higher MacOS 13 Ventura (higher) needed, install Docker : Docker Desktop app provides GUI monitor deployed Docker containers lives Docker.app > Show Package Contents > Contents > MacOS > Docker Desktop.app. install SQL Server ODBC driver (optional) command line tool, use: odbc.ini entry look something like: driver name odbcinst.ini [ODBC Driver 18 SQL Server]. docker needed driver installed, deploy container : --platform tag correct M1; see Status: Exited (1) Docker Desktop warning incompatible architectures, navigate Settings > General ensure Use Rosetta x86/amd64 emulation Apple Silicon checked. connect via odbc, need pass UID PWD via connection string; configuring arguments via odbc.ini permitted. container deployed , connection arguments : configuration server add testuser create test database configure server add testing user create test database: Linux, create docker container : run: resulting odbc.ini file look something like:","code":"brew install --cask docker brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release brew install microsoft/mssql-release/msodbcsql18 microsoft/mssql-release/mssql-tools18 [MicrosoftSQLServer] driver = ODBC Driver 18 for SQL Server Server = 127.0.0.1 port = 1433 Encrypt = no sudo docker run \\ --platform linux/amd64 \\ -e \"ACCEPT_EULA=Y\" \\ -e \"MSSQL_SA_PASSWORD=BoopBop123!\" \\ -p 1433:1433 \\ --name sql1 \\ --hostname sql1 \\ -d mcr.microsoft.com/mssql/server:2022-latest con <- dbConnect( odbc::odbc(), dsn = \"MicrosoftSQLServer\", uid = \"SA\", pwd = \"BoopBop123!\" ) # Add a test user, but currently unused dbExecute(con, \"USE test\") dbExecute(con, \"EXEC sp_configure 'contained database authentication', 1\") dbExecute(con, \"RECONFIGURE\") dbExecute(con, \"alter database test set containment = partial\") dbExecute(con, \"CREATE USER testuser with password = 'BoopBop123!'\") dbExecute(con, \"GRANT CONTROL TO testuser\") dbExecute(con, \"DROP USER testuser\") # Create a test database dbExecute(con, \"CREATE DATABASE test\") docker run -v \"$(pwd)\":\"/opt/$(basename $(pwd))\":delegated --security-opt=seccomp:unconfined --link sql1 -it rstudio/r-base:3.6.1-bionic /bin/bash curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - #Ubuntu 18.04 curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list apt-get update ACCEPT_EULA=Y apt-get install -y msodbcsql17 apt-get install -y unixodbc-dev [MicrosoftSQLServer] driver = ODBC Driver 17 for SQL Server Server = sql1 port = 1433 Database = test"},{"path":"https://r-dbi.github.io/odbc/dev/articles/develop.html","id":"sqlite","dir":"Articles","previous_headings":"","what":"SQLite","title":"Developing odbc","text":"MacOS provides SQLite natively. SQLite odbc driver installed (see vignette(\"setup\") needed), run: example assumes configured SQLite DSN called \"SQLite\".","code":"library(odbc) dbConnect(odbc(), \"SQLite\")"},{"path":"https://r-dbi.github.io/odbc/dev/articles/develop.html","id":"oracle","dir":"Articles","previous_headings":"","what":"Oracle","title":"Developing odbc","text":"huge pain. Get DB container: Start container: -P important set port forwarding docker container. , query port edit ports tnsnames.ora: contents snsnames.ora look like: Ensure current working directly set appropriately. , add new user database: Finally, R:","code":"docker login docker pull store/oracle/database-enterprise:12.2.0.1 docker run -d -it --name oracle_db -P store/oracle/database-enterprise:12.2.0.1 docker port oracle_db ORCLCDB=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=32769)) (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCLCDB.localdomain))) ORCLPDB1=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=32769)) (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCLPDB1.localdomain))) docker exec -it oracle_db bash -c \"source /home/oracle/.bashrc; sqlplus SYS/Oradoc_db1 AS SYSDBA\" alter session set \"_ORACLE_SCRIPT\"=true; create user test identified by 12345; GRANT ALL PRIVILEGES TO TEST; Sys.setenv(\"TNS_ADMIN\" = getwd()) con <- dbConnect(odbc::odbc(), \"OracleODBC-19\")"},{"path":"https://r-dbi.github.io/odbc/dev/articles/develop.html","id":"rodbc","dir":"Articles","previous_headings":"","what":"RODBC","title":"Developing odbc","text":"need install RODBC package benchmarking vignette vignette(\"benchmarks\"). CRAN version RODBC uses iODBC, use unixODBC need recompile source, specifying odbc manager explicitly:","code":"install.packages(\"RODBC\", type = \"source\", INSTALL_opts=\"--configure-args='--with-odbc-manager=odbc'\")"},{"path":"https://r-dbi.github.io/odbc/dev/articles/setup.html","id":"installation","dir":"Articles","previous_headings":"","what":"Installation","title":"Installing and Configuring Drivers","text":"Unix MacOS, ODBC drivers compiled unixODBC. Drivers compiled iODBC may also work, fully supported. installation driver manager driver, register driver odbcinst.ini file appear odbc::odbcListDrivers().","code":""},{"path":"https://r-dbi.github.io/odbc/dev/articles/setup.html","id":"windows","dir":"Articles","previous_headings":"Installation","what":"Windows","title":"Installing and Configuring Drivers","text":"Windows bundled ODBC libraries. However, drivers database need installed separately. Windows ODBC drivers typically include installer needs run install driver proper locations.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/articles/setup.html","id":"macos","dir":"Articles","previous_headings":"Installation","what":"MacOS","title":"Installing and Configuring Drivers","text":"homebrew can used easily install database drivers MacOS. UnixODBC driver manager required databases: common database drivers can installed homebrew. drivers available database vendor. driver installations automatically configure driver driver manager. See “Connecting Database” section learn configuring drivers data sources.","code":"## Install the unixODBC library brew install unixodbc ## Microsoft SQL Server ODBC drivers brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release brew update brew install msodbcsql17 mssql-tools ## SQL Server ODBC drivers (Free TDS) brew install freetds ## PostgreSQL ODBC drivers brew install psqlodbc ## MySQL ODBC drivers (and database) brew install mysql brew install mariadb-connector-odbc ## SQLite ODBC drivers brew install sqliteodbc"},{"path":"https://r-dbi.github.io/odbc/dev/articles/setup.html","id":"linux---debian-ubuntu","dir":"Articles","previous_headings":"Installation","what":"Linux - Debian / Ubuntu","title":"Installing and Configuring Drivers","text":"apt-get can used easily install database drivers Linux distributions support , Debian Ubuntu. UnixODBC driver manager required databases: SQL Server Linux recommended use Microsoft Drivers. code install common drivers:","code":"## Install the unixODBC library apt-get install unixodbc unixodbc-dev ## SQL Server ODBC Drivers (Free TDS) apt-get install tdsodbc ## PostgreSQL ODBC ODBC Driversz apt-get install odbc-postgresql ## MySQL ODBC Drivers apt-get install libmyodbc ## SQLite ODBC Drivers apt-get install libsqliteodbc"},{"path":"https://r-dbi.github.io/odbc/dev/articles/setup.html","id":"driver-configuration","dir":"Articles","previous_headings":"","what":"Driver configuration","title":"Installing and Configuring Drivers","text":"Windows, driver config managed operating system, don’t generally need edit configuration files directly. MacOS Linux, however, driver config managed unixODBC, depending driver installed, may may automatically configured. can see drivers configured running odbcListDrivers(). driver want installed, need edit odbcinst.ini. can use odbcinst -j (provided unixODBC) find file lives. basic form file something like : .e., mapping driver names, location driver file. driver name pass odbc::odbc() connect, e,g: installing driver automatically update file, ’ll need update . ’ll need figure driver library installed, using something like brew list {drivername} dpkg-query -L {drivername}.","code":"[PostgreSQL Driver] Driver = /usr/local/lib/psqlodbcw.so [SQLite Driver] Driver = /usr/local/lib/libsqlite3odbc.dylib library(DBI) con1 <- dbConnect(odbc::odbc(), driver = \"PostgreSQL Driver\") con2 <- dbConnect(odbc::odbc(), driver = \"SQLite Driver\")"},{"path":"https://r-dbi.github.io/odbc/dev/articles/setup.html","id":"data-source-configuration","dir":"Articles","previous_headings":"","what":"Data source configuration","title":"Installing and Configuring Drivers","text":"’s also possible configure named data sources, instead typing : can type: Windows, can set data source using ODBC Data Source Administrator application used manage ODBC data sources Windows. Linux Mac, ’ll need edit odbc.ini (finding location odbcinst -j). data source defined separate section (defined [name]]), paramter going line, e.g.: driver entry represents name driver defined odbcinst.ini. can see currently defined data sources running odbcListDataSources().","code":"library(DBI) con <- dbConnect( odbc::odbc(), driver = \"PostgreSQL Driver\", database = \"test_db\", username = \"postgres\", password = Sys.getenv(\"PASSWORD\"), host = \"localhost\", port = 5432 ) con <- dbConnect(odbc::odbc(), dsn = \"test_db\") [test_db] driver = PostgreSQL Driver database = test_db username = postgres password = password host = localhost port = 5432"},{"path":"https://r-dbi.github.io/odbc/dev/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Jim Hester. Author. Hadley Wickham. Author, maintainer. Oliver Gjoneski. Author. lexicalunit. Copyright holder. nanodbc library Google Inc.. Copyright holder. cctz library Posit Software, PBC. Copyright holder, funder.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Hester J, Wickham H, Gjoneski O (2023). odbc: Connect ODBC Compatible Databases (using DBI Interface). R package version 1.4.0.9000, https://github.com/r-dbi/odbc, https://solutions.posit.co/connections/db/, https://r-dbi.github.io/odbc/.","code":"@Manual{, title = {odbc: Connect to ODBC Compatible Databases (using the DBI Interface)}, author = {Jim Hester and Hadley Wickham and Oliver Gjoneski}, year = {2023}, note = {R package version 1.4.0.9000, https://github.com/r-dbi/odbc, https://solutions.posit.co/connections/db/}, url = {https://r-dbi.github.io/odbc/}, }"},{"path":"https://r-dbi.github.io/odbc/dev/index.html","id":"odbc","dir":"","previous_headings":"","what":"Connect to ODBC Compatible Databases (using the DBI Interface)","title":"Connect to ODBC Compatible Databases (using the DBI Interface)","text":"goal odbc package provide DBI-compliant interface ODBC drivers. makes easy connect databases SQL Server, Oracle, Databricks, Snowflake. odbc package alternative RODBC RODBCDBI packages, typically much faster. See vignette(\"benchmarks\") learn .","code":""},{"path":"https://r-dbi.github.io/odbc/dev/index.html","id":"overview","dir":"","previous_headings":"","what":"Overview","title":"Connect to ODBC Compatible Databases (using the DBI Interface)","text":"odbc package one piece R interface databases support ODBC: Support given DBMS provided ODBC driver, defines interact DBMS using standardized syntax ODBC SQL. Drivers can downloaded DBMS vendor , ’re Posit customer, using professional drivers. Drivers managed driver manager, responsible configuring driver locations, optionally named data sources describe connect specific database. Windows bundled driver manager, MacOS Linux require installation unixODBC. Drivers often require manual configuration; see vignette(\"setup\") details. R interface, DBI package provides front-end odbc implements back-end communicate driver manager. odbc package built top nanodbc C++ library. interface DBMSs using R odbc: might also use dbplyr package automatically generate SQL dplyr code.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Connect to ODBC Compatible Databases (using the DBI Interface)","text":"Install latest release odbc CRAN following code: get bug fix use feature development version, can install development version odbc GitHub:","code":"install.packages(\"odbc\") # install.packages(\"pak\") pak::pak(\"r-dbi/odbc\")"},{"path":"https://r-dbi.github.io/odbc/dev/index.html","id":"usage","dir":"","previous_headings":"","what":"Usage","title":"Connect to ODBC Compatible Databases (using the DBI Interface)","text":"use odbc, begin creating database connection, might look something like : (See vignette(\"setup\") examples connecting variety databases.) dbListTables() used listing existing tables database. dbReadTable() read full table R data.frame(). dbWriteTable() write R data.frame() SQL table. dbGetQuery() submit SQL query fetch results: also possible submit query fetch separately dbSendQuery() dbFetch(). allows use n argument dbFetch() iterate results otherwise large fit memory.","code":"library(DBI) con <- dbConnect( odbc::odbc(), driver = \"SQL Server\", server = \"my-server\", database = \"my-database\", uid = \"my-username\", pwd = rstudioapi::askForPassword(\"Database password\") ) dbListTables(con) data <- dbReadTable(con, \"flights\") dbWriteTable(con, \"iris\", iris) df <- dbGetQuery( con, \"SELECT flight, tailnum, origin FROM flights ORDER BY origin\" )"},{"path":"https://r-dbi.github.io/odbc/dev/reference/ConnectionAttributes.html","id":null,"dir":"Reference","previous_headings":"","what":"Supported Connection Attributes — SUPPORTED_CONNECTION_ATTRIBUTES","title":"Supported Connection Attributes — SUPPORTED_CONNECTION_ATTRIBUTES","text":"(pre) connection attributes supported can passed part dbConnect call named list attributes parameter:","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/ConnectionAttributes.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Supported Connection Attributes — SUPPORTED_CONNECTION_ATTRIBUTES","text":"azure_token: string scalar; particular Azure Active Directory authentication token. use Microsoft SQL Server limited support away OEM Microsoft driver.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/ConnectionAttributes.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Supported Connection Attributes — SUPPORTED_CONNECTION_ATTRIBUTES","text":"","code":"if (FALSE) { conn <- dbConnect( odbc::odbc(), dsn = \"my_azure_mssql_db\", Encrypt = \"yes\", attributes = list(\"azure_token\" = .token) ) }"},{"path":"https://r-dbi.github.io/odbc/dev/reference/DBI-classes.html","id":null,"dir":"Reference","previous_headings":"","what":"DBI classes — DBI-classes","title":"DBI classes — DBI-classes","text":"DBI classes","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/DBI-methods.html","id":null,"dir":"Reference","previous_headings":"","what":"Unimportant DBI methods — sqlData,OdbcConnection-method","title":"Unimportant DBI methods — sqlData,OdbcConnection-method","text":"Unimportant DBI methods","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/DBI-methods.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Unimportant DBI methods — sqlData,OdbcConnection-method","text":"","code":"# S4 method for OdbcConnection sqlData(con, value, row.names = NA, ...) # S4 method for HDB sqlCreateTable( con, table, fields, row.names = NA, temporary = FALSE, ..., field.types = NULL ) # S4 method for Hive,character dbQuoteString(conn, x, ...) # S4 method for Teradata sqlCreateTable( con, table, fields, row.names = NA, temporary = FALSE, ..., field.types = NULL )"},{"path":"https://r-dbi.github.io/odbc/dev/reference/DBI-methods.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Unimportant DBI methods — sqlData,OdbcConnection-method","text":"... parameters passed methods. conn DBIConnection object, returned dbConnect().","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/DBI-tables.html","id":null,"dir":"Reference","previous_headings":"","what":"Convenience functions for reading/writing DBMS tables — DBI-tables","title":"Convenience functions for reading/writing DBMS tables — DBI-tables","text":"Convenience functions reading/writing DBMS tables","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/DBI-tables.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convenience functions for reading/writing DBMS tables — DBI-tables","text":"","code":"# S4 method for OdbcConnection,character,data.frame dbWriteTable( conn, name, value, overwrite = FALSE, append = FALSE, temporary = FALSE, row.names = NA, field.types = NULL, batch_rows = getOption(\"odbc.batch_rows\", NA), ... ) # S4 method for OdbcConnection,Id,data.frame dbWriteTable( conn, name, value, overwrite = FALSE, append = FALSE, temporary = FALSE, row.names = NA, field.types = NULL, batch_rows = getOption(\"odbc.batch_rows\", NA), ... ) # S4 method for OdbcConnection,SQL,data.frame dbWriteTable( conn, name, value, overwrite = FALSE, append = FALSE, temporary = FALSE, row.names = NA, field.types = NULL, batch_rows = getOption(\"odbc.batch_rows\", NA), ... ) # S4 method for OdbcConnection dbAppendTable(conn, name, value, ..., row.names = NULL) # S4 method for OdbcConnection sqlCreateTable( con, table, fields, row.names = NA, temporary = FALSE, ..., field.types = NULL )"},{"path":"https://r-dbi.github.io/odbc/dev/reference/DBI-tables.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convenience functions for reading/writing DBMS tables — DBI-tables","text":"conn OdbcConnection object, produced DBI::dbConnect() name character string specifying table name. Names automatically quoted can use sequence characters, just valid bare table name. value data.frame write database. overwrite Allow overwriting destination table. TRUE append also TRUE. append Allow appending destination table. TRUE overwrite also TRUE. temporary TRUE, generate temporary table statement. row.names Either TRUE, FALSE, NA string. TRUE, always translate row names column called \"row_names\". FALSE, never translate row names. NA, translate rownames character vector. string equivalent TRUE, allows override default name. backward compatibility, NULL equivalent FALSE. field.types Additional field types used override derived types. batch_rows number rows retrieve. Defaults NA, set dynamically size input. Depending database, driver, dataset free memory setting lower value may improve performance. ... arguments used individual methods. con database connection. table table name, passed dbQuoteIdentifier(). Options : character string unquoted DBMS table name, e.g. \"table_name\", call Id() components fully qualified table name, e.g. Id(schema = \"my_schema\", table = \"table_name\") call SQL() quoted fully qualified table name given verbatim, e.g. SQL('\"my_schema\".\"table_name\"') fields Either character vector data frame. named character vector: Names column names, values types. Names escaped dbQuoteIdentifier(). Field types unescaped. data frame: field types generated using dbDataType().","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/DBI-tables.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convenience functions for reading/writing DBMS tables — DBI-tables","text":"","code":"if (FALSE) { library(DBI) con <- dbConnect(odbc::odbc()) dbListTables(con) dbWriteTable(con, \"mtcars\", mtcars, temporary = TRUE) dbReadTable(con, \"mtcars\") dbListTables(con) dbExistsTable(con, \"mtcars\") # A zero row data frame just creates a table definition. dbWriteTable(con, \"mtcars2\", mtcars[0, ], temporary = TRUE) dbReadTable(con, \"mtcars2\") dbDisconnect(con) }"},{"path":"https://r-dbi.github.io/odbc/dev/reference/OdbcConnection.html","id":null,"dir":"Reference","previous_headings":"","what":"Odbc Connection Methods — OdbcConnection-class","title":"Odbc Connection Methods — OdbcConnection-class","text":"Implementations pure virtual functions defined DBI package OdbcConnection objects.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/OdbcConnection.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Odbc Connection Methods — OdbcConnection-class","text":"","code":"# S4 method for OdbcConnection show(object) # S4 method for OdbcConnection dbIsValid(dbObj, ...) # S4 method for OdbcConnection dbDisconnect(conn, ...) # S4 method for OdbcConnection,character dbSendQuery(conn, statement, params = NULL, ..., immediate = is.null(params)) # S4 method for OdbcConnection,character dbSendStatement(conn, statement, params = NULL, ..., immediate = FALSE) # S4 method for OdbcConnection,ANY dbDataType(dbObj, obj, ...) # S4 method for OdbcConnection,data.frame dbDataType(dbObj, obj, ...) # S4 method for OdbcConnection,character dbQuoteIdentifier(conn, x, ...) # S4 method for OdbcConnection,SQL dbQuoteIdentifier(conn, x, ...) # S4 method for OdbcConnection dbGetInfo(dbObj, ...) # S4 method for OdbcConnection,character dbGetQuery( conn, statement, n = -1, params = NULL, immediate = is.null(params), ... ) # S4 method for OdbcConnection dbBegin(conn, ...) # S4 method for OdbcConnection dbCommit(conn, ...) # S4 method for OdbcConnection dbRollback(conn, ...) # S4 method for OdbcConnection,Id dbExistsTable(conn, name, ...) # S4 method for OdbcConnection,SQL dbExistsTable(conn, name, ...) # S4 method for OdbcConnection,character dbExistsTable(conn, name, ...) # S4 method for OdbcConnection,character dbRemoveTable(conn, name, ...)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/OdbcConnection.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Odbc Connection Methods — OdbcConnection-class","text":"object R object dbObj object inheriting DBIObject, .e. DBIDriver, DBIConnection, DBIResult ... arguments methods. conn DBIConnection object, returned dbConnect(). statement character string containing SQL. params Query parameters pass dbBind(). See dbBind() details. immediate TRUE, SQLExecDirect used instead SQLPrepare, params argument ignored obj R object whose SQL type want determine. x character vector, SQL Id object quote identifier. n maximum number records retrieve per fetch. Use n = -1 n = Inf retrieve pending records. implementations may recognize special values. name table name, passed dbQuoteIdentifier(). Options : character string unquoted DBMS table name, e.g. \"table_name\", call Id() components fully qualified table name, e.g. Id(schema = \"my_schema\", table = \"table_name\") call SQL() quoted fully qualified table name given verbatim, e.g. SQL('\"my_schema\".\"table_name\"')","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/OdbcDriver.html","id":null,"dir":"Reference","previous_headings":"","what":"Odbc Driver Methods — OdbcDriver","title":"Odbc Driver Methods — OdbcDriver","text":"Implementations pure virtual functions defined DBI package OdbcDriver objects.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/OdbcDriver.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Odbc Driver Methods — OdbcDriver","text":"","code":"# S4 method for OdbcDriver show(object) # S4 method for OdbcDriver,ANY dbDataType(dbObj, obj, ...) # S4 method for OdbcDriver,list dbDataType(dbObj, obj, ...) # S4 method for OdbcDriver,data.frame dbDataType(dbObj, obj, ...) # S4 method for OdbcDriver dbIsValid(dbObj, ...) # S4 method for OdbcDriver dbGetInfo(dbObj, ...)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/OdbcDriver.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Odbc Driver Methods — OdbcDriver","text":"object R object dbObj object inheriting DBIDriver DBIConnection obj R object whose SQL type want determine. ... arguments passed methods.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/OdbcResult.html","id":null,"dir":"Reference","previous_headings":"","what":"Odbc Result Methods — OdbcResult","title":"Odbc Result Methods — OdbcResult","text":"Implementations pure virtual functions defined DBI package OdbcResult objects.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/OdbcResult.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Odbc Result Methods — OdbcResult","text":"","code":"# S4 method for OdbcResult dbClearResult(res, ...) # S4 method for OdbcResult dbFetch(res, n = -1, ...) # S4 method for OdbcResult dbHasCompleted(res, ...) # S4 method for OdbcResult dbIsValid(dbObj, ...) # S4 method for OdbcResult dbGetStatement(res, ...) # S4 method for OdbcResult dbColumnInfo(res, ...) # S4 method for OdbcResult dbGetRowCount(res, ...) # S4 method for OdbcResult dbGetRowsAffected(res, ...) # S4 method for OdbcResult dbBind(res, params, ..., batch_rows = getOption(\"odbc.batch_rows\", NA))"},{"path":"https://r-dbi.github.io/odbc/dev/reference/OdbcResult.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Odbc Result Methods — OdbcResult","text":"res object inheriting DBIResult. ... arguments passed methods. n maximum number records retrieve per fetch. Use n = -1 n = Inf retrieve pending records. implementations may recognize special values. dbObj object inheriting DBIObject, .e. DBIDriver, DBIConnection, DBIResult params list bindings, named unnamed. batch_rows number rows retrieve. Defaults NA, set dynamically size input. Depending database, driver, dataset free memory setting lower value may improve performance.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/Oracle.html","id":null,"dir":"Reference","previous_headings":"","what":"Oracle — Oracle-class","title":"Oracle — Oracle-class","text":"Details Oracle methods odbc DBI generics.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/Oracle.html","id":"odbcconnectiontables-","dir":"Reference","previous_headings":"","what":"odbcConnectionTables()","title":"Oracle — Oracle-class","text":"Query, rather use SQLTables ODBC API performance reasons. Main functional difference implementation SQLTables OEM driver query OEM implementation also looks synonyms. Given performance reports, sacrifice synonym look-better execution time.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/Oracle.html","id":"odbcconnectioncolumns-","dir":"Reference","previous_headings":"","what":"odbcConnectionColumns()","title":"Oracle — Oracle-class","text":"Query, rather use SQLColumns ODBC API, since bind BIGINT one column results Oracle's OEM driver handle .","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/Oracle.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Oracle — Oracle-class","text":"","code":"# S4 method for Oracle sqlCreateTable( con, table, fields, row.names = NA, temporary = FALSE, ..., field.types = NULL ) # S4 method for Oracle,character odbcConnectionTables( conn, name, catalog_name = NULL, schema_name = NULL, table_type = NULL, exact = FALSE ) # S4 method for Oracle,character odbcConnectionColumns( conn, name, catalog_name = NULL, schema_name = NULL, column_name = NULL, exact = FALSE )"},{"path":"https://r-dbi.github.io/odbc/dev/reference/SQLServer.html","id":null,"dir":"Reference","previous_headings":"","what":"SQL Server — Microsoft SQL Server-class","title":"SQL Server — Microsoft SQL Server-class","text":"Details SQL Server methods odbc DBI generics.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/SQLServer.html","id":"dbunquoteidentifier-","dir":"Reference","previous_headings":"","what":"dbUnquoteIdentifier()","title":"SQL Server — Microsoft SQL Server-class","text":"conn@quote returns quotation mark, quotation marks square brackets can used interchangeably delimited identifiers. (https://learn.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers). function strips brackets first calls DBI method strip quotation marks.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/SQLServer.html","id":"istemptable-","dir":"Reference","previous_headings":"","what":"isTempTable()","title":"SQL Server — Microsoft SQL Server-class","text":"Local temp tables stored [tempdb].[dbo].[#name]_____[numeric identifier], isTempTable() returns TRUE catalog_name \"tempdb\" \"%\", name starts \"#\".","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/SQLServer.html","id":"dbexiststable-","dir":"Reference","previous_headings":"","what":"dbExistsTable()","title":"SQL Server — Microsoft SQL Server-class","text":"default implementation reports temporary tables non-existent since live different catalog. method provides special case temporary tables, identified isTempTable().","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/SQLServer.html","id":"sqlcreatetable-","dir":"Reference","previous_headings":"","what":"sqlCreateTable()","title":"SQL Server — Microsoft SQL Server-class","text":"Warns temporary = TRUE name conform temp table naming conventions (.e. start #).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/databricks.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper for Connecting to Databricks via ODBC — databricks","title":"Helper for Connecting to Databricks via ODBC — databricks","text":"Connect Databricks clusters SQL warehouses via Databricks ODBC driver. particular, custom dbConnect() method Databricks ODBC driver implements subset Databricks client unified authentication model, support personal access tokens, OAuth machine--machine credentials, OAuth user--machine credentials supplied via Posit Workbench Databricks CLI desktop. credentials detected automatically present using standard environment variables.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/databricks.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper for Connecting to Databricks via ODBC — databricks","text":"","code":"databricks() # S4 method for DatabricksOdbcDriver dbConnect( drv, httpPath, workspace = Sys.getenv(\"DATABRICKS_HOST\"), useNativeQuery = TRUE, driver = NULL, HTTPPath, ... )"},{"path":"https://r-dbi.github.io/odbc/dev/reference/databricks.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper for Connecting to Databricks via ODBC — databricks","text":"drv object inherits DBIDriver, existing DBIConnection object (order clone existing connection). httpPath, HTTPPath query cluster, use HTTP Path value found Advanced Options > JDBC/ODBC Databricks UI. SQL warehouses, found Connection Details instead. workspace URL Databricks workspace, e.g. \"https://example.cloud.databricks.com\". useNativeQuery Suppress driver's conversion ANSI SQL 92 HiveSQL? default (TRUE), gives greater performance means paramterised queries (hence dbWriteTable()) work. driver name Databricks ODBC driver, NULL use default name. ... arguments passed dbConnect().","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/databricks.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Helper for Connecting to Databricks via ODBC — databricks","text":"OdbcConnection object active connection Databricks cluster SQL warehouse.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/databricks.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Helper for Connecting to Databricks via ODBC — databricks","text":"","code":"if (FALSE) { DBI::dbConnect( odbc::databricks(), httpPath = \"sql/protocolv1/o/4425955464597947/1026-023828-vn51jugj\" ) }"},{"path":"https://r-dbi.github.io/odbc/dev/reference/dbConnect-OdbcDriver-method.html","id":null,"dir":"Reference","previous_headings":"","what":"Connect to a database via an ODBC driver — odbc","title":"Connect to a database via an ODBC driver — odbc","text":"dbConnect() method documented invoked DBI::dbConnect() called first argument odbc(). Connecting database via ODBC driver likely first step analyzing data using odbc package; overview package concepts, see Overview section .","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/dbConnect-OdbcDriver-method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Connect to a database via an ODBC driver — odbc","text":"","code":"odbc() # S4 method for OdbcDriver dbConnect( drv, dsn = NULL, ..., timezone = \"UTC\", timezone_out = \"UTC\", encoding = \"\", bigint = c(\"integer64\", \"integer\", \"numeric\", \"character\"), timeout = 10, driver = NULL, server = NULL, database = NULL, uid = NULL, pwd = NULL, dbms.name = NULL, attributes = NULL, .connection_string = NULL )"},{"path":"https://r-dbi.github.io/odbc/dev/reference/dbConnect-OdbcDriver-method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Connect to a database via an ODBC driver — odbc","text":"drv OdbcDriver, odbc(). dsn data source name. currently available options, see name column odbcListDataSources() output. ... Additional ODBC keywords. joined arguments form final connection string. Note ODBC parameter names case-insensitive (e.g.) DRV drv equivalent. Since different R possible source confusion, odbc error supply multiple arguments name case ignored. argument values contain []{}(),;?*=!@ \"quoted\" wrapping {}. can opt-behaviour wrapping value (). timezone server time zone. Useful database internal timezone 'UTC'. database local timezone, set argument Sys.timezone(). See OlsonNames() complete list available time zones system. timezone_out time zone returned R. want display datetime values local timezone, set Sys.timezone(). encoding text encoding used Database. database using UTF-8 need set encoding get accurate re-encoding. See iconvlist() complete list available encodings system. Note strings always returned UTF-8 encoded. bigint R type SQL_BIGINT types mapped . Default bit64::integer64, allows full range 64 bit integers. timeout Time seconds timeout connection attempt. Setting timeout Inf indicates timeout. Defaults 10 seconds. driver ODBC driver name path driver. currently available options, see name column odbcListDrivers() output. server server hostname. drivers use Servername name argument. required configured supplied dsn. database database server. required configured supplied dsn. uid user identifier. drivers use username name argument. required configured supplied dsn. pwd password. drivers use password name argument. required configured supplied dsn. dbms.name database management system name. normally queried automatically ODBC driver. name used class name OdbcConnection object returned dbConnect(). However, driver return valid value, can set manually parameter. attributes S4 object connection attributes passed prior connection established. See ConnectionAttributes. .connection_string complete connection string, useful copy pasting another source. argument used, additional arguments appended string.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/dbConnect-OdbcDriver-method.html","id":"connection-strings","dir":"Reference","previous_headings":"","what":"Connection strings","title":"Connect to a database via an ODBC driver — odbc","text":"Internally, dbConnect() creates connection string using supplied arguments. Connection string keywords driver-dependent; arguments documented common, drivers may accept . Alternatively configuring DSNs driver names driver manager, can pass complete connection string directly .connection_string argument. Connection Strings Reference useful resource example connection strings large variety databases.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/dbConnect-OdbcDriver-method.html","id":"overview","dir":"Reference","previous_headings":"","what":"Overview","title":"Connect to a database via an ODBC driver — odbc","text":"odbc package one piece R interface databases support ODBC: package supports Database Management System (DBMS) ODBC support. Support given DBMS provided ODBC driver, defines interact DBMS using standardized syntax ODBC SQL. Drivers can downloaded DBMS vendor , Posit customer, using professional drivers. manage information driver data sources provide access , computers use driver manager. Windows bundled driver manager, MacOS Linux require installation one; package supports unixODBC driver manager. R interface, DBI package provides front-end odbc implements back-end communicate driver manager. odbc package built top nanodbc C++ library. Interfacing DBMSs using R odbc involves three high-level steps: Configure drivers data sources: functions odbcListDrivers() odbcListDataSources() help interface driver manager. Connect database: dbConnect() function, called first argument odbc(), connects database using specified ODBC driver create connection object. Interface connections: resulting connection object can passed various functions retrieve information database structure (dbListTables()), iteratively develop queries (dbSendQuery(), dbColumnInfo()), query data objects (dbFetch()).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/dbConnect-OdbcDriver-method.html","id":"learn-more","dir":"Reference","previous_headings":"","what":"Learn more","title":"Connect to a database via an ODBC driver — odbc","text":"learn databases: \"Best Practices Working Databases\" documents use odbc package various popular databases. pyodbc \"Drivers Driver Managers\" Wiki provides context drivers driver managers. Microsoft's \"Introduction ODBC\" thorough resource ODBC interface.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/dbListTables-OdbcConnection-method.html","id":null,"dir":"Reference","previous_headings":"","what":"List remote tables and fields for an ODBC connection — dbListTables,OdbcConnection-method","title":"List remote tables and fields for an ODBC connection — dbListTables,OdbcConnection-method","text":"dbListTables() provides names remote tables accessible connection; dbListFields() provides names columns within table.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/dbListTables-OdbcConnection-method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List remote tables and fields for an ODBC connection — dbListTables,OdbcConnection-method","text":"","code":"# S4 method for OdbcConnection dbListTables( conn, catalog_name = NULL, schema_name = NULL, table_name = NULL, table_type = NULL, ... ) # S4 method for OdbcConnection,character dbListFields( conn, name, catalog_name = NULL, schema_name = NULL, column_name = NULL, ... )"},{"path":"https://r-dbi.github.io/odbc/dev/reference/dbListTables-OdbcConnection-method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"List remote tables and fields for an ODBC connection — dbListTables,OdbcConnection-method","text":"conn DBIConnection object, returned dbConnect(). catalog_name, schema_name, table_name Catalog, schema, table names. default, catalog_name, schema_name table_name automatically escape underscores ensure match exactly one table. want search multiple tables using wild cards, need use odbcConnectionTables() directly instead. table_type type table return, default returns table types. ... parameters passed methods. name table name, passed dbQuoteIdentifier(). Options : character string unquoted DBMS table name, e.g. \"table_name\", call Id() components fully qualified table name, e.g. Id(schema = \"my_schema\", table = \"table_name\") call SQL() quoted fully qualified table name given verbatim, e.g. SQL('\"my_schema\".\"table_name\"') column_name name column return, default returns columns.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/dbListTables-OdbcConnection-method.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"List remote tables and fields for an ODBC connection — dbListTables,OdbcConnection-method","text":"character vector table field names respectively.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/isTempTable.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper method used to determine if a table identifier is that\nof a temporary table. — isTempTable","title":"Helper method used to determine if a table identifier is that\nof a temporary table. — isTempTable","text":"Currently implemented select back-ends use (SQL Server, example). Generic, case develop broader use case.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/isTempTable.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper method used to determine if a table identifier is that\nof a temporary table. — isTempTable","text":"","code":"isTempTable(conn, name, ...) # S4 method for OdbcConnection,Id isTempTable(conn, name, ...) # S4 method for OdbcConnection,SQL isTempTable(conn, name, ...)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/isTempTable.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper method used to determine if a table identifier is that\nof a temporary table. — isTempTable","text":"conn OdbcConnection name Table name ... additional parameters methods","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbc-package.html","id":null,"dir":"Reference","previous_headings":"","what":"odbc: Connect to ODBC Compatible Databases (using the DBI Interface) — odbc-package","title":"odbc: Connect to ODBC Compatible Databases (using the DBI Interface) — odbc-package","text":"DBI-compatible interface ODBC databases.","code":""},{"path":[]},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbc-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"odbc: Connect to ODBC Compatible Databases (using the DBI Interface) — odbc-package","text":"Maintainer: Hadley Wickham hadley@posit.co Authors: Jim Hester Oliver Gjoneski contributors: lexicalunit (nanodbc library) [copyright holder] Google Inc. (cctz library) [copyright holder] Posit Software, PBC [copyright holder, funder]","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionActions.html","id":null,"dir":"Reference","previous_headings":"","what":"List the actions supported for the connection — odbcConnectionActions","title":"List the actions supported for the connection — odbcConnectionActions","text":"Return list actions can performed connection.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionActions.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List the actions supported for the connection — odbcConnectionActions","text":"","code":"odbcConnectionActions(connection)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionActions.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"List the actions supported for the connection — odbcConnectionActions","text":"connection connection object, returned dbConnect().","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionActions.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"List the actions supported for the connection — odbcConnectionActions","text":"named list actions can performed connection.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionActions.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"List the actions supported for the connection — odbcConnectionActions","text":"list returned named list actions, action following properties: callback function invoked perform action icon optional path icon representing action","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionCatalogs.html","id":null,"dir":"Reference","previous_headings":"","what":"odbcConnectionCatalogs — odbcConnectionCatalogs","title":"odbcConnectionCatalogs — odbcConnectionCatalogs","text":"function returns listing available catalogs.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionCatalogs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"odbcConnectionCatalogs — odbcConnectionCatalogs","text":"","code":"odbcConnectionCatalogs(conn) # S4 method for OdbcConnection odbcConnectionCatalogs(conn)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionCatalogs.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"odbcConnectionCatalogs — odbcConnectionCatalogs","text":"conn OdbcConnection","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionColumns.html","id":null,"dir":"Reference","previous_headings":"","what":"odbcConnectionColumns — odbcConnectionColumns","title":"odbcConnectionColumns — odbcConnectionColumns","text":"given table function returns detailed information fields / columns. expectation relatively thin wrapper around ODBC SQLColumns function call, field names renamed / re-ordered according return specifications .","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionColumns.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"odbcConnectionColumns — odbcConnectionColumns","text":"","code":"odbcConnectionColumns(conn, name, ..., exact = FALSE) # S4 method for OdbcConnection,Id odbcConnectionColumns(conn, name, ..., column_name = NULL, exact = FALSE) # S4 method for OdbcConnection,character odbcConnectionColumns( conn, name, ..., catalog_name = NULL, schema_name = NULL, column_name = NULL, exact = FALSE ) # S4 method for OdbcConnection,SQL odbcConnectionColumns(conn, name, ..., exact = FALSE)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionColumns.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"odbcConnectionColumns — odbcConnectionColumns","text":"conn OdbcConnection name, catalog_name, schema_name Catalog, schema, table identifiers. default, interpreted ODBC search pattern _ % wild cards. Set exact = TRUE match _ exactly. ... additional parameters methods exact Set TRUE escape _ identifier names matches exactly, rather matching single character. % always matches number characters unlikely appear table name. column_name name column return, default returns columns.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionColumns.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"odbcConnectionColumns — odbcConnectionColumns","text":"data.frame columns name field.type - equivalent type_name SQLColumns output table_name schema_name catalog_name data_type column_size buffer_length decimal_digits numeric_precision_radix remarks column_default sql_data_type sql_datetime_subtype char_octet_length ordinal_position nullable","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionColumns.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"odbcConnectionColumns — odbcConnectionColumns","text":"dbWriteTable() make call method get details fields table writing . particular columns data_type, column_size, decimal_digits used. implementation necessary dbWriteTable() work. odbcConnectionColumns routed SQLColumns ODBC method. function, together remaining catalog functions (SQLTables, etc), default ( SQL_ATTR_METADATA_ID == false ) expect either ordinary arguments (OA) case catalog, pattern value arguments (PV) case schema/table name. , quoted identifiers make sense, unquote identifiers prior call.","code":""},{"path":[]},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionIcon.html","id":null,"dir":"Reference","previous_headings":"","what":"Get an icon representing a connection. — odbcConnectionIcon","title":"Get an icon representing a connection. — odbcConnectionIcon","text":"Return path disk icon representing connection.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionIcon.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get an icon representing a connection. — odbcConnectionIcon","text":"","code":"odbcConnectionIcon(connection)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionIcon.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get an icon representing a connection. — odbcConnectionIcon","text":"connection connection object, returned dbConnect().","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionIcon.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get an icon representing a connection. — odbcConnectionIcon","text":"path icon file disk.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionIcon.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get an icon representing a connection. — odbcConnectionIcon","text":"icon returned 32x32 square image file.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionSchemas.html","id":null,"dir":"Reference","previous_headings":"","what":"odbcConnectionSchemas — odbcConnectionSchemas","title":"odbcConnectionSchemas — odbcConnectionSchemas","text":"function returns listing available schemas.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionSchemas.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"odbcConnectionSchemas — odbcConnectionSchemas","text":"","code":"odbcConnectionSchemas(conn, catalog_name) # S4 method for OdbcConnection,ANY odbcConnectionSchemas(conn, catalog_name = NULL) # S4 method for OdbcConnection,character odbcConnectionSchemas(conn, catalog_name)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionSchemas.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"odbcConnectionSchemas — odbcConnectionSchemas","text":"conn OdbcConnection catalog_name Catalog looking list schemas.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionSchemas.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"odbcConnectionSchemas — odbcConnectionSchemas","text":"Currently, generic connection catalog_name argument ignored. Databricks supports multiple catalogs. hand, default implementation odbcConnectionSchemas routes SQLTables likely enumerate schemas currently active catalog . implementation respect catalog_name arrgument.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionTableTypes.html","id":null,"dir":"Reference","previous_headings":"","what":"odbcConnectionTableTypes — odbcConnectionTableTypes","title":"odbcConnectionTableTypes — odbcConnectionTableTypes","text":"function returns listing table types available database.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionTableTypes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"odbcConnectionTableTypes — odbcConnectionTableTypes","text":"","code":"odbcConnectionTableTypes(conn) # S4 method for OdbcConnection odbcConnectionTableTypes(conn)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionTableTypes.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"odbcConnectionTableTypes — odbcConnectionTableTypes","text":"conn OdbcConnection","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionTables.html","id":null,"dir":"Reference","previous_headings":"","what":"odbcConnectionTables — odbcConnectionTables","title":"odbcConnectionTables — odbcConnectionTables","text":"function returns listing tables accessible connected user. expectation relatively thin wrapper around ODBC SQLTables function call, albeit returning subset fields.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionTables.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"odbcConnectionTables — odbcConnectionTables","text":"","code":"odbcConnectionTables(conn, name, ...) # S4 method for OdbcConnection,Id odbcConnectionTables(conn, name, table_type = NULL, exact = FALSE) # S4 method for OdbcConnection,character odbcConnectionTables( conn, name, catalog_name = NULL, schema_name = NULL, table_type = NULL, exact = FALSE ) # S4 method for OdbcConnection,ANY odbcConnectionTables( conn, name = NULL, catalog_name = NULL, schema_name = NULL, table_type = NULL, exact = FALSE ) # S4 method for OdbcConnection,SQL odbcConnectionTables(conn, name, table_type = NULL, exact = FALSE)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionTables.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"odbcConnectionTables — odbcConnectionTables","text":"conn OdbcConnection name, catalog_name, schema_name Catalog, schema, table identifiers. default, interpreted ODBC search pattern _ % wild cards. Set exact = TRUE match _ exactly. ... additional parameters methods table_type List tables type, example 'VIEW'. See odbcConnectionTableTypes listing available table types connection. exact Set TRUE escape _ identifier names matches exactly, rather matching single character. % always matches number characters unlikely appear table name.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionTables.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"odbcConnectionTables — odbcConnectionTables","text":"data.frame columns table_catalog table_schema table_name table_remarks","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionTables.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"odbcConnectionTables — odbcConnectionTables","text":"important note , similar ODBC/API call, method also accomodates pattern-value arguments catalog, schema, table name arguments. extending method, aware package:odbc internally uses method satisfy DBI::dbListTables DBI::dbExistsTable methods. ( former also advertises pattern value arguments )","code":""},{"path":[]},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcDataType.html","id":null,"dir":"Reference","previous_headings":"","what":"Return the corresponding ODBC data type for an R object — odbcDataType","title":"Return the corresponding ODBC data type for an R object — odbcDataType","text":"used creating new table dbWriteTable(). Databases default methods defined MySQL PostgreSQL SQL Server Oracle SQLite Spark Hive Impala Redshift Vertica BigQuery Teradata Access","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcDataType.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Return the corresponding ODBC data type for an R object — odbcDataType","text":"","code":"odbcDataType(con, obj, ...)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcDataType.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Return the corresponding ODBC data type for an R object — odbcDataType","text":"con driver connection object, returned dbConnect(). obj R object. ... Additional arguments passed methods.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcDataType.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Return the corresponding ODBC data type for an R object — odbcDataType","text":"Corresponding SQL type obj.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcDataType.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Return the corresponding ODBC data type for an R object — odbcDataType","text":"using different database dbWriteTable() fails SQL parsing error default method appropriate, need write new method.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcDataType.html","id":"defining-a-new-dbdatatype-method","dir":"Reference","previous_headings":"","what":"Defining a new dbDataType method","title":"Return the corresponding ODBC data type for an R object — odbcDataType","text":"object type connection database name retrieved dbGetInfo(con)$dbms.name. Use documentation provided database determine appropriate values R data type. example method definition fictional foo database follows.","code":"con <- dbConnect(odbc::odbc(), \"FooConnection\") dbGetInfo(con)$dbms.name #> [1] \"foo\" `odbcDataType.foo <- function(con, obj, ...) { switch_type(obj, factor = \"VARCHAR(255)\", datetime = \"TIMESTAMP\", date = \"DATE\", binary = \"BINARY\", integer = \"INTEGER\", double = \"DOUBLE\", character = \"VARCHAR(255)\", logical = \"BIT\", list = \"VARCHAR(255)\", stop(\"Unsupported type\", call. = FALSE) ) }"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListColumns.html","id":null,"dir":"Reference","previous_headings":"","what":"List columns in an object. — odbcListColumns","title":"List columns in an object. — odbcListColumns","text":"Lists names types column (field) specified object.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListColumns.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List columns in an object. — odbcListColumns","text":"","code":"odbcListColumns(connection, ...)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListColumns.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"List columns in an object. — odbcListColumns","text":"connection connection object, returned dbConnect(). ... Parameters specifying object.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListColumns.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"List columns in an object. — odbcListColumns","text":"data frame name type columns, listing object's fields.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListColumns.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"List columns in an object. — odbcListColumns","text":"object inspect must specified one arguments (e.g. table = \"employees\"); depending driver underlying data store, additional specification arguments may required.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListDataSources.html","id":null,"dir":"Reference","previous_headings":"","what":"List Configured Data Source Names — odbcListDataSources","title":"List Configured Data Source Names — odbcListDataSources","text":"Collect information available data source names (DSNs). DSN must installed configured driver manager included list. Configuring DSN just sets lookup table (e.g. odbc.ini) allow users pass DSN dbConnect(). DSNs configured driver manager can still connected dbConnect() providing DSN metadata directly.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListDataSources.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List Configured Data Source Names — odbcListDataSources","text":"","code":"odbcListDataSources()"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListDataSources.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"List Configured Data Source Names — odbcListDataSources","text":"data frame two columns: name Name data source. entries column can passed dsn argument dbConnect(). description Data source description.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListDataSources.html","id":"configuration","dir":"Reference","previous_headings":"","what":"Configuration","title":"List Configured Data Source Names — odbcListDataSources","text":"function interfaces driver manager collect information available data source names. MacOS Linux, odbc package supports unixODBC driver manager. unixODBC looks odbc.ini configuration file information DSNs. Find location(s) odbc.ini file(s) odbcinst -j. example odbc.ini file: ...data source name MySQL, appear name column function's output. pass DSN dsn argument dbConnect(), pass string, like \"MySQL\". Driver = MySQL Driver references driver name odbcListDrivers() output. Windows bundled ODBC driver manager. DSN configured driver manager, information DSN automatically passed dbConnect() dsn argument set. example, MySQL data source name configured, driver name MySQL Driver appearing odbcListDrivers() output, code: ...can written: case, dbConnect() look information defined MySQL driver manager (example, odbc.ini) automatically pass needed arguments.","code":"[MySQL] Driver = MySQL Driver Database = test Server = 127.0.0.1 User = root password = root Port = 3306 con <- dbConnect( odbc::odbc(), Driver = \"MySQL Driver\", Database = \"test\", Server = \"127.0.0.1\", User = \"root\", password = \"root\", Port = 3306 ) con <- dbConnect(odbc::odbc(), dsn = \"MySQL\")"},{"path":[]},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListDrivers.html","id":null,"dir":"Reference","previous_headings":"","what":"List Configured ODBC Drivers — odbcListDrivers","title":"List Configured ODBC Drivers — odbcListDrivers","text":"Collect information configured driver names. driver must installed configured driver manager included list. Configuring driver name just sets lookup table (e.g. odbcinst.ini) allow users pass driver name dbConnect(). Driver names configured driver manager (thus appear function's output) can still used dbConnect() providing path driver directly.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListDrivers.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List Configured ODBC Drivers — odbcListDrivers","text":"","code":"odbcListDrivers( keep = getOption(\"odbc.drivers_keep\"), filter = getOption(\"odbc.drivers_filter\") )"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListDrivers.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"List Configured ODBC Drivers — odbcListDrivers","text":"keep, filter character vector driver names keep remove results, respectively. NULL, driver names kept, none removed, respectively. odbc.drivers_keep odbc.drivers_filter options control argument defaults. Driver names first processed keep, filter. Thus, driver name keep filter, appear output.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListDrivers.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"List Configured ODBC Drivers — odbcListDrivers","text":"data frame three columns. name Name driver. entries column can passed driver argument dbConnect() (long driver accepts argument). attribute Driver attribute name. value Driver attribute value. driver multiple attributes, one row per attribute, driver name. given driver name attributes, function return one row driver name, last two columns NA.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListDrivers.html","id":"configuration","dir":"Reference","previous_headings":"","what":"Configuration","title":"List Configured ODBC Drivers — odbcListDrivers","text":"function interfaces driver manager collect information available driver names. MacOS Linux, odbc package supports unixODBC driver manager. unixODBC looks odbcinst.ini configuration file information driver names. Find location(s) odbcinst.ini file(s) odbcinst -j. example odbcinst.ini file: driver name MySQL Driver, appear name column function's output. pass driver name driver argument dbConnect(), pass string, like \"MySQL Driver\". Windows bundled ODBC driver manager. example, function output include 1 row: name column read \"MySQL Driver\", attribute \"Driver\", value give file path driver. Additional key-value pairs driver name add additional rows name entry. driver configured driver manager, information driver automatically passed dbConnect() driver argument set. example, see section odbcListDataSources() help-file. Instead configuring driver information driver manager, also possible provide path driver directly dbConnect().","code":"[MySQL Driver] Driver=/opt/homebrew/Cellar/mysql/8.2.0_1/lib/libmysqlclient.dylib"},{"path":[]},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListDrivers.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"List Configured ODBC Drivers — odbcListDrivers","text":"","code":"if (FALSE) { odbcListDrivers() }"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListObjectTypes.html","id":null,"dir":"Reference","previous_headings":"","what":"Return the object hierarchy supported by a connection. — odbcListObjectTypes","title":"Return the object hierarchy supported by a connection. — odbcListObjectTypes","text":"Lists object types metadata known connection, object types relate .","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListObjectTypes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Return the object hierarchy supported by a connection. — odbcListObjectTypes","text":"","code":"odbcListObjectTypes(connection)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListObjectTypes.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Return the object hierarchy supported by a connection. — odbcListObjectTypes","text":"connection connection object, returned dbConnect().","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListObjectTypes.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Return the object hierarchy supported by a connection. — odbcListObjectTypes","text":"hierarchy object types supported connection.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListObjectTypes.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Return the object hierarchy supported by a connection. — odbcListObjectTypes","text":"returned hierarchy takes form nested list, object type supported connection named list following attributes: contains list object types contained object, \"data\" object contains data icon optional path icon representing type instance, connection top-level object schema contains tables views, function return list like following:","code":"list(schema = list(contains = list( list(name = \"table\", contains = \"data\") list(name = \"view\", contains = \"data\"))))"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListObjects.html","id":null,"dir":"Reference","previous_headings":"","what":"List objects in a connection. — odbcListObjects","title":"List objects in a connection. — odbcListObjects","text":"Lists objects connection, objects specific attributes.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListObjects.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List objects in a connection. — odbcListObjects","text":"","code":"odbcListObjects(connection, ...)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListObjects.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"List objects in a connection. — odbcListObjects","text":"connection connection object, returned dbConnect(). ... Attributes filter .","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListObjects.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"List objects in a connection. — odbcListObjects","text":"data frame name type columns, listing objects.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListObjects.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"List objects in a connection. — odbcListObjects","text":"used without parameters, function returns objects known connection. parameters passed filter list objects given attributes; instance, passing schema = \"foo\" return objects matching schema foo.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcPreviewObject.html","id":null,"dir":"Reference","previous_headings":"","what":"Preview the data in an object. — odbcPreviewObject","title":"Preview the data in an object. — odbcPreviewObject","text":"Return data inside object data frame.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcPreviewObject.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Preview the data in an object. — odbcPreviewObject","text":"","code":"odbcPreviewObject(connection, rowLimit, ...)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcPreviewObject.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Preview the data in an object. — odbcPreviewObject","text":"connection connection object, returned dbConnect(). rowLimit maximum number rows display. ... Parameters specifying object.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcPreviewObject.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Preview the data in an object. — odbcPreviewObject","text":"data frame containing data object.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcPreviewObject.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Preview the data in an object. — odbcPreviewObject","text":"object previewed must specified one arguments (e.g. table = \"employees\"); depending driver underlying data store, additional specification arguments may required.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcPreviewQuery.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a preview query. — odbcPreviewQuery","title":"Create a preview query. — odbcPreviewQuery","text":"Optimize rowLimit argument. S3 since back-ends parse LIMIT syntax. Internal, expected users interact method.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcPreviewQuery.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a preview query. — odbcPreviewQuery","text":"","code":"odbcPreviewQuery(connection, rowLimit, name) # S3 method for OdbcConnection odbcPreviewQuery(connection, rowLimit, name) # S3 method for `Microsoft SQL Server` odbcPreviewQuery(connection, rowLimit, name) # S3 method for Oracle odbcPreviewQuery(connection, rowLimit, name)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcPreviewQuery.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a preview query. — odbcPreviewQuery","text":"connection connection object, returned dbConnect(). rowLimit maximum number rows display. name Name object previewed","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcSetTransactionIsolationLevel.html","id":null,"dir":"Reference","previous_headings":"","what":"Set the Transaction Isolation Level for a Connection — odbcSetTransactionIsolationLevel","title":"Set the Transaction Isolation Level for a Connection — odbcSetTransactionIsolationLevel","text":"Set Transaction Isolation Level Connection","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcSetTransactionIsolationLevel.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set the Transaction Isolation Level for a Connection — odbcSetTransactionIsolationLevel","text":"","code":"odbcSetTransactionIsolationLevel(conn, levels)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcSetTransactionIsolationLevel.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set the Transaction Isolation Level for a Connection — odbcSetTransactionIsolationLevel","text":"conn DBIConnection object, returned dbConnect(). levels One ‘read_uncommitted’, ‘read_committed’, ‘repeatable_read’, ‘serializable’ .","code":""},{"path":[]},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcSetTransactionIsolationLevel.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Set the Transaction Isolation Level for a Connection — odbcSetTransactionIsolationLevel","text":"","code":"if (FALSE) { # Can use spaces or underscores in between words. odbcSetTransactionIsolationLevel(con, \"read uncommitted\") # Can also use the full constant name. odbcSetTransactionIsolationLevel(con, \"SQL_TXN_READ_UNCOMMITTED\") }"},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-development-version","dir":"Changelog","previous_headings":"","what":"odbc (development version)","title":"odbc (development version)","text":"Use correct parent class Oracle (#685).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-140","dir":"Changelog","previous_headings":"","what":"odbc 1.4.0","title":"odbc 1.4.0","text":"CRAN release: 2023-12-15","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"major-changes-1-4-0","dir":"Changelog","previous_headings":"","what":"Major changes","title":"odbc 1.4.0","text":"New odbc::databricks() makes easier connect Databricks, automatically handling many common authentication scenarios (@atheriel, #615). dbListTables(), dbListFields() dbExistsTable() automatically escape underscores identifier arguments. leads substantial performance improvements backends (e.g. snowflake) (@detule, @fh-afrachioni, #618). dbGetQuery() dbSendQuery() now set immediate = TRUE using parameterised query. yield small speed boost many cases (#633).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"minor-improvements-and-bug-fixes-1-4-0","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"odbc 1.4.0","text":"Increased minimum required R version 3.2.0 3.6.0 (@simonpcouch, #629). S4 classes database drivers now exported, make possible use packages (#558). ODBC errors now spread across multiple lines, making easier read (@detule, #564). DBI::dbConnect(odbc::odbc()) now gives clear error supply multiple arguments name case ignored (#641). DBI::dbConnect(odbc::odbc()) now automatically quotes argument values need (#616).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"driver-specific-changes-1-4-0","dir":"Changelog","previous_headings":"","what":"Driver specific changes","title":"odbc 1.4.0","text":"Oracle: Fix regression falling back odbcConnectionColumns() describe column data types (@detule, #587) Spark SQL: Correctly enumerate schemas away current catalog (@detule, #614) Snowflake: improved translation R snowflake types (@meztez, #599). SQL Server Improved handling local temp tables dbWrite(), dbAppendTable(), dbExistTable() (@detule, #600) Specialize syntax sqlCreateTable avoid failures writing (new) local temp tables. (@detule, #601) Teradata: Improved handling temp tables (@detule @But2ene, #589, 590)","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-135","dir":"Changelog","previous_headings":"","what":"odbc 1.3.5","title":"odbc 1.3.5","text":"CRAN release: 2023-06-29 Various fixes R CMD check. argument order sqlCreateTable() methods avoiding weird argument mismatch problems (#448). Fixed truncation retrieving unicode data stored VAR/CHAR columns (@detule, #553). Fixed issue related fetching zero rows (@detule, #528). Backend specific improvements: MYSQL: Fixed retrieving results stored procedures (@detule, #435). Oracle: performance enhancements (#577) Spark: Changed data type date-times DATE TIMESTAMP (@schuemie, #555).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-134","dir":"Changelog","previous_headings":"","what":"odbc 1.3.4","title":"odbc 1.3.4","text":"CRAN release: 2023-01-17 Optimized table preview methods. Enhances large table preview within RStudio IDE (@detule, #525). Added attributes parameter dbConnect(...). Can used pass token authenticate Azure AD using Microsoft SQL Server. Documented ?ConnectionAttributes (@detule, #521). Fix length(x) = 3 > 1' coercion 'logical(1) warning connection observer (@meztez, #494).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-133","dir":"Changelog","previous_headings":"","what":"odbc 1.3.3","title":"odbc 1.3.3","text":"CRAN release: 2021-11-30 Hadley Wickham now maintainer.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-132","dir":"Changelog","previous_headings":"","what":"odbc 1.3.2","title":"odbc 1.3.2","text":"CRAN release: 2021-04-03 New odbcDataType.Snowflake() method Snowflake databases. (@edgararuiz, #451)","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-131","dir":"Changelog","previous_headings":"","what":"odbc 1.3.1","title":"odbc 1.3.1","text":"CRAN release: 2021-03-16 Fixed warnings anonymous unions (@detule, #440) Fixed invalid descriptor issues retrieving results SQL Server + Microsoft’s ODBC driver, using parametrized queries. (@detule, #414) Fixed null handling SQL Server / Azure result sets retrieved Microsoft’s ODBC driver. (@detule, #408) Hive uses C-style escaping string literals (single quotes backslash-escaped, note single quote-escaped). dbQuoteString now respects called connection class Hive. (@rnorberg, #184) calling sqlCreateTable(con, ..., temporary = TRUE) con connection class DB2/AIX64, CREATE TABLE statement generated properly creates temporary table DB2. statement begins DECLARE GLOBAL TEMPORARY TABLE ends COMMIT PRESERVE ROWS (DB2’s default behavior COMMIT DELETE ROWS, results inserted data deleted soon dbWriteTable completes). (@rnorberg, #426) Fixed RStudio Connections Pane working database one catalog one schema. (@meztez, #444)","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-130","dir":"Changelog","previous_headings":"","what":"odbc 1.3.0","title":"odbc 1.3.0","text":"CRAN release: 2020-10-27","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"major-changes-1-3-0","dir":"Changelog","previous_headings":"","what":"Major changes","title":"odbc 1.3.0","text":"odbc can now compiled Rtools35 (gcc 4.9.3) Windows (#383) invalid descriptor errors drivers Microsoft SQLServer driver freeTDS driver support order retrieval now avoided. done unbinding nanodbc buffer past long column. Performance unbound columns cases reduced, retrieval work without error (@detule, #381) dbBind() dbFetch() now support multiple result sets (@vkapartzianis, #345)","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"minor-improvements-and-fixes-1-3-0","dir":"Changelog","previous_headings":"","what":"Minor improvements and fixes","title":"odbc 1.3.0","text":"New dbAppendTable() method OdbcConnection objects (#335) dbQuoteIdentifier() now uses input names (). dbWriteTable() dbBind() now default batch_rows NA, sets batch size length input. avoids problems drivers don’t support batch sizes larger input size. restore behavior prior release pass batch_rows = 1024 set options(odbc.batch_rows = 1024) (#391). dbWriteTable() now handles data.table::IDate() objects (#388) dbWriteTable(field.types=) now issues warning rather error missing columns (#342) odbcConnectionColumns() now works intended DBI::Id() objects (#389) dbFetch() now verifies n valid input. Dates now always interpreted database’s local time zone, regardless timezone parameter (#398) Oracle connections now support Date POSIXct types via DATE TIMESTAMP data types (#324, #349, #350) Oracle connections now use VARCHAR2 rather VARCHAR, recommended Oracle’s documentation (#189)","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-123","dir":"Changelog","previous_headings":"","what":"odbc 1.2.3","title":"odbc 1.2.3","text":"CRAN release: 2020-06-18 dbWriteTable() now executes immediately, fixes issues temporary tables FreeTDS SQL Server driver (@krlmlr). blob roundtrips now work cases (#364, @krlmlr). BH dependency removed (#326)","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-122","dir":"Changelog","previous_headings":"","what":"odbc 1.2.2","title":"odbc 1.2.2","text":"CRAN release: 2020-01-10 configure script now uses iodbc-config macOS, available. Fix errors drivers fully implement SQLGetInfo (#325).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-121","dir":"Changelog","previous_headings":"","what":"odbc 1.2.1","title":"odbc 1.2.1","text":"CRAN release: 2019-12-05 Fix unicode character width issues macOS odbc CRAN binary. (#283) configure script now works systems whose /bin/sh support command substitution, Solaris 10.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-120","dir":"Changelog","previous_headings":"","what":"odbc 1.2.0","title":"odbc 1.2.0","text":"CRAN release: 2019-11-28","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"features-1-2-0","dir":"Changelog","previous_headings":"","what":"Features","title":"odbc 1.2.0","text":"sqlCreateTable() dbWriteTable() now throw error mistakenly include field.types names exist input data. (#271) error message trying write tables unsupported types now includes column name (#238). dbConnect() now new param timezone_out useful user wants datetime values marked specific timezone instead UTC (@shrektan, #294). dbGetQuery(), dbSendQuery() dbSendStatement() gain immediate argument execute statement query immediately instead preparing, executing statement. (#272, @krlmlr) dbGetQuery(), dbSendQuery() dbSendStatement() gain params argument, allows used (indirectly) DBI::dbAppendTable() (#210, #215, #261). dbWriteTable() dbBind() methods gain batch_rows argument, control many rows bound batch. default can set globally options(odbc.batch_rows). useful database performs better larger smaller number rows per batch default 1024. (#297) New odbcConnectionColumns() function describe column types. data used binding columns, allows drivers support SQLDescribeParam() ODBC function, freeTDS work better bound columns. (#313, @detule) Added Teradata odbcDataType() support writing logical data Teradata servers (#240, @blarj09). Added Access odbcDataType() method support writing Access databases (#262, @vh-d) odbcListDrivers() gains keep filter argument global options odbc.drivers_keep, odbc.drivers_filter keep filter drivers returned. useful system administrators want reduce number drivers shown users. (@blairj09, #274) Subseconds now retained inserting POSIXct objects (#130, #208) RStudio Connections Pane now shows DSN, available (#304, @davidchall).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"bugfixes-1-2-0","dir":"Changelog","previous_headings":"","what":"Bugfixes","title":"odbc 1.2.0","text":"SQL Server ODBC’s now supports ‘-155’ data type, losing sub-second precision timestamps; still returns type DATETIMEOFFSET character, preserves sub-seconds numeric timezone offset (@r2evans, #207). dbExistsTable() now handles case-sensitivity consistently methods (@shrektan, #285). dbExistsTable() now works SQL Server specifying schemas catalogs using freeTDS Simba drivers. (#197) DBI::dbListFields() longer fails used qualified Id object (using schema table) (#226). dbWriteTable() now always writes NA_character NULL data.frame one row (@shrektan, #288). Fix issue date value fetched database may one day real value (@shrektan, #295).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-116","dir":"Changelog","previous_headings":"","what":"odbc 1.1.6","title":"odbc 1.1.6","text":"CRAN release: 2018-06-09","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"features-1-1-6","dir":"Changelog","previous_headings":"","what":"Features","title":"odbc 1.1.6","text":"dbConnect() gains timeout parameter, control long connection attempted timing (#139). Full schema support using Id objects available DBI 0.8 (#91, #120).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"bugfixes-1-1-6","dir":"Changelog","previous_headings":"","what":"Bugfixes","title":"odbc 1.1.6","text":"SQL inputs always converted database encoding querying (#179).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-115","dir":"Changelog","previous_headings":"","what":"odbc 1.1.5","title":"odbc 1.1.5","text":"CRAN release: 2018-01-23 Fix return value dbQuoteIdentifier() given length 0 input (#146 @edgararuiz).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-114","dir":"Changelog","previous_headings":"","what":"odbc 1.1.4","title":"odbc 1.1.4","text":"CRAN release: 2018-01-10","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"features-1-1-4","dir":"Changelog","previous_headings":"","what":"Features","title":"odbc 1.1.4","text":"Add custom sqlCreateTable dbListTables method Teradata connections (#121, @edgararuiz). Add dbms.name parameter dbConnect() allow user set database management system name cases queried Driver (#115, @hoxo-m).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"bugfixes-1-1-4","dir":"Changelog","previous_headings":"","what":"Bugfixes","title":"odbc 1.1.4","text":"Fix multiple transactions rollback (#136). Fix translation missing values integer types (#119). Update PIC flags avoid portability concerns.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-113","dir":"Changelog","previous_headings":"","what":"odbc 1.1.3","title":"odbc 1.1.3","text":"CRAN release: 2017-10-05 Small patch fix install errors CRAN’s MacOS machines.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-112","dir":"Changelog","previous_headings":"","what":"odbc 1.1.2","title":"odbc 1.1.2","text":"CRAN release: 2017-10-02 Add bigint parameter dbConnect() allow user set behavior converting 64 bit integers R types. Fixes compatibility RStudio Connections pane viewer. (@jmcphers). Define BUILD_REAL_64_BIT_MODE compatibility older systems sql.h, ensure always use 8 byte pointers. Added temporary-table support Oracle database using custom sqlCreateTable (#99, @edgararuiz). Fix regression binding due num_columns variable updated odbc_result::bind_list(). Support table creation Vertica Redshift (#93, @khotilov). Changed parameter fieldTypes field.types functions dbWriteTable() sqlCreateTable() compliant DBI (#106, @jschelbert). dbSendStatement longer executes statement, instead done dbBind() dbGetRowsAffected() called. change brings ODBC compliance DBI specification dbSendStatement() (#84, @ruiyiz).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-111","dir":"Changelog","previous_headings":"","what":"odbc 1.1.1","title":"odbc 1.1.1","text":"CRAN release: 2017-06-27 Workaround drivers implement SQLGetInfo, Access driver (#78). Fix installation error systems without GNU Make default make, Solaris.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-110","dir":"Changelog","previous_headings":"","what":"odbc 1.1.0","title":"odbc 1.1.0","text":"CRAN release: 2017-06-23 Provide fall backs drivers support SQLDescribeParam support transactions. sqlCreateTable() gains fieldTypes argument, allows one override column type given table, default type appropriate. Support databases non UTF-8 encodings. Use encoding parameter dbConnect() specify database encoding. Support SQL Connection Pane RStudio IDE. Unknown fields longer throw warning, instead signal custom condition, can caught desired withCallingHandlers(expr, odbc_unknown_field_type = function(e) {…} ) Conversion timezones handled cctz library. database non-UTC timezone can specified timezone parameter dbConnect(). Time objects converted hms objects. 64 bit integers converted bit64 objects. Support table creation Impala Hive Databases (#38, @edgararuiz).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-101","dir":"Changelog","previous_headings":"","what":"odbc 1.0.1","title":"odbc 1.0.1","text":"CRAN release: 2017-02-07 force c++14 windows Turn database tests CRAN, think difficult debug even databases supported. Added NEWS.md file track changes package.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-100","dir":"Changelog","previous_headings":"","what":"odbc 1.0.0","title":"odbc 1.0.0","text":"CRAN release: 2017-02-05 Initial odbc release","code":""}] +[{"path":[]},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"our-pledge","dir":"","previous_headings":"","what":"Our Pledge","title":"Contributor Covenant Code of Conduct","text":"members, contributors, leaders pledge make participation community harassment-free experience everyone, regardless age, body size, visible invisible disability, ethnicity, sex characteristics, gender identity expression, level experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, sexual identity orientation. pledge act interact ways contribute open, welcoming, diverse, inclusive, healthy community.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"our-standards","dir":"","previous_headings":"","what":"Our Standards","title":"Contributor Covenant Code of Conduct","text":"Examples behavior contributes positive environment community include: Demonstrating empathy kindness toward people respectful differing opinions, viewpoints, experiences Giving gracefully accepting constructive feedback Accepting responsibility apologizing affected mistakes, learning experience Focusing best just us individuals, overall community Examples unacceptable behavior include: use sexualized language imagery, sexual attention advances kind Trolling, insulting derogatory comments, personal political attacks Public private harassment Publishing others’ private information, physical email address, without explicit permission conduct reasonably considered inappropriate professional setting","code":""},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"enforcement-responsibilities","dir":"","previous_headings":"","what":"Enforcement Responsibilities","title":"Contributor Covenant Code of Conduct","text":"Community leaders responsible clarifying enforcing standards acceptable behavior take appropriate fair corrective action response behavior deem inappropriate, threatening, offensive, harmful. Community leaders right responsibility remove, edit, reject comments, commits, code, wiki edits, issues, contributions aligned Code Conduct, communicate reasons moderation decisions appropriate.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"scope","dir":"","previous_headings":"","what":"Scope","title":"Contributor Covenant Code of Conduct","text":"Code Conduct applies within community spaces, also applies individual officially representing community public spaces. Examples representing community include using official e-mail address, posting via official social media account, acting appointed representative online offline event.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"enforcement","dir":"","previous_headings":"","what":"Enforcement","title":"Contributor Covenant Code of Conduct","text":"Instances abusive, harassing, otherwise unacceptable behavior may reported community leaders responsible enforcement codeofconduct@posit.co. complaints reviewed investigated promptly fairly. community leaders obligated respect privacy security reporter incident.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"enforcement-guidelines","dir":"","previous_headings":"","what":"Enforcement Guidelines","title":"Contributor Covenant Code of Conduct","text":"Community leaders follow Community Impact Guidelines determining consequences action deem violation Code Conduct:","code":""},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"id_1-correction","dir":"","previous_headings":"Enforcement Guidelines","what":"1. Correction","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Use inappropriate language behavior deemed unprofessional unwelcome community. Consequence: private, written warning community leaders, providing clarity around nature violation explanation behavior inappropriate. public apology may requested.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"id_2-warning","dir":"","previous_headings":"Enforcement Guidelines","what":"2. Warning","title":"Contributor Covenant Code of Conduct","text":"Community Impact: violation single incident series actions. Consequence: warning consequences continued behavior. interaction people involved, including unsolicited interaction enforcing Code Conduct, specified period time. includes avoiding interactions community spaces well external channels like social media. Violating terms may lead temporary permanent ban.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"id_3-temporary-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"3. Temporary Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: serious violation community standards, including sustained inappropriate behavior. Consequence: temporary ban sort interaction public communication community specified period time. public private interaction people involved, including unsolicited interaction enforcing Code Conduct, allowed period. Violating terms may lead permanent ban.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"id_4-permanent-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"4. Permanent Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Demonstrating pattern violation community standards, including sustained inappropriate behavior, harassment individual, aggression toward disparagement classes individuals. Consequence: permanent ban sort public interaction within community.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/CODE_OF_CONDUCT.html","id":"attribution","dir":"","previous_headings":"","what":"Attribution","title":"Contributor Covenant Code of Conduct","text":"Code Conduct adapted Contributor Covenant, version 2.1, available https://www.contributor-covenant.org/version/2/1/code_of_conduct.html. Community Impact Guidelines inspired [Mozilla’s code conduct enforcement ladder][https://github.com/mozilla/inclusion]. answers common questions code conduct, see FAQ https://www.contributor-covenant.org/faq. Translations available https://www.contributor-covenant.org/translations.","code":""},{"path":[]},{"path":[]},{"path":"https://r-dbi.github.io/odbc/dev/ISSUE_TEMPLATE.html","id":"reproducible-example","dir":"","previous_headings":"","what":"Reproducible Example","title":"NA","text":"","code":"devtools::session_info() #> output"},{"path":"https://r-dbi.github.io/odbc/dev/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"MIT License","title":"MIT License","text":"Copyright (c) 2023 odbc authors Permission hereby granted, free charge, person obtaining copy software associated documentation files (“Software”), deal Software without restriction, including without limitation rights use, copy, modify, merge, publish, distribute, sublicense, /sell copies Software, permit persons Software furnished , subject following conditions: copyright notice permission notice shall included copies substantial portions Software. SOFTWARE PROVIDED “”, WITHOUT WARRANTY KIND, EXPRESS IMPLIED, INCLUDING LIMITED WARRANTIES MERCHANTABILITY, FITNESS PARTICULAR PURPOSE NONINFRINGEMENT. EVENT SHALL AUTHORS COPYRIGHT HOLDERS LIABLE CLAIM, DAMAGES LIABILITY, WHETHER ACTION CONTRACT, TORT OTHERWISE, ARISING , CONNECTION SOFTWARE USE DEALINGS SOFTWARE.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/MAINTENANCE.html","id":"current-state","dir":"","previous_headings":"","what":"Current state","title":"NA","text":"odbc stable, though still corner cases issues certain database backends. Mostly around text encodings, datetime logical formats.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/MAINTENANCE.html","id":"known-outstanding-issues","dir":"","previous_headings":"","what":"Known outstanding issues","title":"NA","text":"“Developing odbc” vignette vignette(\"develop\") contains instructions running tests locally, important make feedback loop shorter. hardest part maintaining odbc often issue occurs specific database, setting environment database usually takes non-trivial amount time.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/MAINTENANCE.html","id":"future-directions","dir":"","previous_headings":"","what":"Future directions","title":"NA","text":"Convert using Rcpp using cpp11. urgent, basically r-lib/tidyverse packages converted. Look updating version nanodbc newer version. complicated fact nanodbc now requires C++14, can’t really drop unless want bump odbc require C++14. Alternatively look recent nanodbc comments port current version odbc. use cases.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/articles/benchmarks.html","id":"setup","dir":"Articles","previous_headings":"","what":"Setup","title":"Benchmarks","text":"RODBC RODBCDBI trip flights’ tibble subclass, ’ll convert data frame passing package. Also, RODBCDBI package support writing timestamps, remove column well. Now, let’s configure three driver connections Microsoft SQL Server database, one package ’ll benchmarking. code requires dsn MicrosoftSQLServer previously configured; see vignettes(\"setup\") learn .","code":"flights$time_hour <- NULL flights <- as.data.frame(flights) odbc <- dbConnect(odbc::odbc(), dsn = \"MicrosoftSQLServer\", uid = \"SA\", pwd = \"BoopBop123!\") rodbc <- RODBC::odbcConnect(dsn = \"MicrosoftSQLServer\", uid = \"SA\", pwd = \"BoopBop123!\") rodbcdbi <- dbConnect(RODBCDBI::ODBC(), dsn = \"MicrosoftSQLServer\", user = \"SA\", password = \"BoopBop123!\")"},{"path":"https://r-dbi.github.io/odbc/dev/articles/benchmarks.html","id":"writing","dir":"Articles","previous_headings":"","what":"Writing","title":"Benchmarks","text":"’ll first benchmark writing flights dataset, contains ~300,000 rows 18 columns, database. code odbc RODBCDBI looks quite similar, use DBI front-end: timings RODBC RODBCDBI quite similar, utilize RODBC back-end:","code":"odbc_write <- system.time(dbWriteTable(odbc, \"flights\", flights)) odbc_write #> user system elapsed #> 0.883 0.176 8.108 rodbcdbi_write <- system.time(dbWriteTable(rodbcdbi, \"flights\", flights)) rodbcdbi_write #> user system elapsed #> 8.287 11.107 257.841 rodbc_write <- system.time(sqlSave(rodbc, flights, \"flights\")) rodbc_write #> user system elapsed #> 8.266 11.023 235.825"},{"path":"https://r-dbi.github.io/odbc/dev/articles/benchmarks.html","id":"reading","dir":"Articles","previous_headings":"","what":"Reading","title":"Benchmarks","text":", syntax odbc RODBCDBI identical, timings RODBCDBI RODBC quite similar.","code":"odbc_read <- system.time(result <- dbReadTable(odbc, \"flights\")) rodbcdbi_read <- system.time(result <- dbReadTable(rodbcdbi, \"flights\")) rodbc_read <- system.time(result <- sqlFetch(rodbc, \"flights\")) odbc_read #> user system elapsed #> 0.515 0.024 0.557 rodbcdbi_read #> user system elapsed #> 1.308 0.035 1.356 rodbc_read #> user system elapsed #> 1.291 0.033 1.343"},{"path":"https://r-dbi.github.io/odbc/dev/articles/develop.html","id":"postgresql","dir":"Articles","previous_headings":"","what":"PostgreSQL","title":"Developing odbc","text":"MacOS, install PostgreSQL : ’ll also need install configure PostgreSQL driver psqlodbc; see vignette(\"setup\") learn . launch PostgreSQL server locally, run: Next, create database called “test” (whatever name entry Database odbc.ini file): point, able connect PostgreSQL R interface. Connect : \"PostgreSQL\" replaced whatever DSN ’ve configured.","code":"brew install postgresql@14 brew services start postgresql@14 createdb test postgres <- dbConnect(odbc(), \"PostgreSQL\")"},{"path":"https://r-dbi.github.io/odbc/dev/articles/develop.html","id":"mysql","dir":"Articles","previous_headings":"","what":"MySQL","title":"Developing odbc","text":"First, installing MySQL Homebrew: MariaDB drivers compatible MySQL easily installed MySQL drivers cases. install MariaDB driver: , link MariaDB driver MySQL data source name. , driver name [MariaDB] configuring MariaDB install odbcinst.ini, first lines odbc.ini entry look something like: running brew services start mysql needed, confirming database running brew services info mysql, able : second argument \"MySQL\" refers data source name configured .","code":"brew install mysql@8.2 brew install mariadb-connector-odbc [MySQL] Driver = MariaDB library(odbc) dbConnect(odbc(), \"MySQL\")"},{"path":"https://r-dbi.github.io/odbc/dev/articles/develop.html","id":"sql-server-test-setup","dir":"Articles","previous_headings":"","what":"SQL Server test setup","title":"Developing odbc","text":"run Microsoft SQL Server aarch64 (e.g. M1 M2) MacOS, need: Docker 4.16 higher MacOS 13 Ventura (higher) needed, install Docker : Docker Desktop app provides GUI monitor deployed Docker containers lives Docker.app > Show Package Contents > Contents > MacOS > Docker Desktop.app. install SQL Server ODBC driver (optional) command line tool, use: odbc.ini entry look something like: driver name odbcinst.ini [ODBC Driver 18 SQL Server]. docker needed driver installed, deploy container : --platform tag correct M1; see Status: Exited (1) Docker Desktop warning incompatible architectures, navigate Settings > General ensure Use Rosetta x86/amd64 emulation Apple Silicon checked. connect via odbc, need pass UID PWD via connection string; configuring arguments via odbc.ini permitted. container deployed , connection arguments : configuration server add testuser create test database configure server add testing user create test database: Linux, create docker container : run: resulting odbc.ini file look something like:","code":"brew install --cask docker brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release brew install microsoft/mssql-release/msodbcsql18 microsoft/mssql-release/mssql-tools18 [MicrosoftSQLServer] driver = ODBC Driver 18 for SQL Server Server = 127.0.0.1 port = 1433 Encrypt = no sudo docker run \\ --platform linux/amd64 \\ -e \"ACCEPT_EULA=Y\" \\ -e \"MSSQL_SA_PASSWORD=BoopBop123!\" \\ -p 1433:1433 \\ --name sql1 \\ --hostname sql1 \\ -d mcr.microsoft.com/mssql/server:2022-latest con <- dbConnect( odbc::odbc(), dsn = \"MicrosoftSQLServer\", uid = \"SA\", pwd = \"BoopBop123!\" ) # Add a test user, but currently unused dbExecute(con, \"USE test\") dbExecute(con, \"EXEC sp_configure 'contained database authentication', 1\") dbExecute(con, \"RECONFIGURE\") dbExecute(con, \"alter database test set containment = partial\") dbExecute(con, \"CREATE USER testuser with password = 'BoopBop123!'\") dbExecute(con, \"GRANT CONTROL TO testuser\") dbExecute(con, \"DROP USER testuser\") # Create a test database dbExecute(con, \"CREATE DATABASE test\") docker run -v \"$(pwd)\":\"/opt/$(basename $(pwd))\":delegated --security-opt=seccomp:unconfined --link sql1 -it rstudio/r-base:3.6.1-bionic /bin/bash curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - #Ubuntu 18.04 curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list apt-get update ACCEPT_EULA=Y apt-get install -y msodbcsql17 apt-get install -y unixodbc-dev [MicrosoftSQLServer] driver = ODBC Driver 17 for SQL Server Server = sql1 port = 1433 Database = test"},{"path":"https://r-dbi.github.io/odbc/dev/articles/develop.html","id":"sqlite","dir":"Articles","previous_headings":"","what":"SQLite","title":"Developing odbc","text":"MacOS provides SQLite natively. SQLite odbc driver installed (see vignette(\"setup\") needed), run: example assumes configured SQLite DSN called \"SQLite\".","code":"library(odbc) dbConnect(odbc(), \"SQLite\")"},{"path":"https://r-dbi.github.io/odbc/dev/articles/develop.html","id":"oracle","dir":"Articles","previous_headings":"","what":"Oracle","title":"Developing odbc","text":"huge pain. Get DB container: Start container: -P important set port forwarding docker container. , query port edit ports tnsnames.ora: contents snsnames.ora look like: Ensure current working directly set appropriately. , add new user database: Finally, R:","code":"docker login docker pull store/oracle/database-enterprise:12.2.0.1 docker run -d -it --name oracle_db -P store/oracle/database-enterprise:12.2.0.1 docker port oracle_db ORCLCDB=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=32769)) (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCLCDB.localdomain))) ORCLPDB1=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=32769)) (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCLPDB1.localdomain))) docker exec -it oracle_db bash -c \"source /home/oracle/.bashrc; sqlplus SYS/Oradoc_db1 AS SYSDBA\" alter session set \"_ORACLE_SCRIPT\"=true; create user test identified by 12345; GRANT ALL PRIVILEGES TO TEST; Sys.setenv(\"TNS_ADMIN\" = getwd()) con <- dbConnect(odbc::odbc(), \"OracleODBC-19\")"},{"path":"https://r-dbi.github.io/odbc/dev/articles/develop.html","id":"rodbc","dir":"Articles","previous_headings":"","what":"RODBC","title":"Developing odbc","text":"need install RODBC package benchmarking vignette vignette(\"benchmarks\"). CRAN version RODBC uses iODBC, use unixODBC need recompile source, specifying odbc manager explicitly:","code":"install.packages(\"RODBC\", type = \"source\", INSTALL_opts=\"--configure-args='--with-odbc-manager=odbc'\")"},{"path":"https://r-dbi.github.io/odbc/dev/articles/setup.html","id":"installation","dir":"Articles","previous_headings":"","what":"Installation","title":"Installing and Configuring Drivers","text":"Unix MacOS, ODBC drivers compiled unixODBC. Drivers compiled iODBC may also work, fully supported. installation driver manager driver, register driver odbcinst.ini file appear odbc::odbcListDrivers().","code":""},{"path":"https://r-dbi.github.io/odbc/dev/articles/setup.html","id":"windows","dir":"Articles","previous_headings":"Installation","what":"Windows","title":"Installing and Configuring Drivers","text":"Windows bundled ODBC libraries. However, drivers database need installed separately. Windows ODBC drivers typically include installer needs run install driver proper locations.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/articles/setup.html","id":"macos","dir":"Articles","previous_headings":"Installation","what":"MacOS","title":"Installing and Configuring Drivers","text":"homebrew can used easily install database drivers MacOS. UnixODBC driver manager required databases: common database drivers can installed homebrew. drivers available database vendor. driver installations automatically configure driver driver manager. See “Connecting Database” section learn configuring drivers data sources.","code":"## Install the unixODBC library brew install unixodbc ## Microsoft SQL Server ODBC drivers brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release brew update brew install msodbcsql17 mssql-tools ## SQL Server ODBC drivers (Free TDS) brew install freetds ## PostgreSQL ODBC drivers brew install psqlodbc ## MySQL ODBC drivers (and database) brew install mysql brew install mariadb-connector-odbc ## SQLite ODBC drivers brew install sqliteodbc"},{"path":"https://r-dbi.github.io/odbc/dev/articles/setup.html","id":"linux---debian-ubuntu","dir":"Articles","previous_headings":"Installation","what":"Linux - Debian / Ubuntu","title":"Installing and Configuring Drivers","text":"apt-get can used easily install database drivers Linux distributions support , Debian Ubuntu. UnixODBC driver manager required databases: SQL Server Linux recommended use Microsoft Drivers. code install common drivers:","code":"## Install the unixODBC library apt-get install unixodbc unixodbc-dev ## SQL Server ODBC Drivers (Free TDS) apt-get install tdsodbc ## PostgreSQL ODBC ODBC Driversz apt-get install odbc-postgresql ## MySQL ODBC Drivers apt-get install libmyodbc ## SQLite ODBC Drivers apt-get install libsqliteodbc"},{"path":"https://r-dbi.github.io/odbc/dev/articles/setup.html","id":"driver-configuration","dir":"Articles","previous_headings":"","what":"Driver configuration","title":"Installing and Configuring Drivers","text":"Windows, driver config managed operating system, don’t generally need edit configuration files directly. MacOS Linux, however, driver config managed unixODBC, depending driver installed, may may automatically configured. can see drivers configured running odbcListDrivers(). driver want installed, need edit odbcinst.ini. can use odbcinst -j (provided unixODBC) find file lives. basic form file something like : .e., mapping driver names, location driver file. driver name pass odbc::odbc() connect, e,g: installing driver automatically update file, ’ll need update . ’ll need figure driver library installed, using something like brew list {drivername} dpkg-query -L {drivername}.","code":"[PostgreSQL Driver] Driver = /usr/local/lib/psqlodbcw.so [SQLite Driver] Driver = /usr/local/lib/libsqlite3odbc.dylib library(DBI) con1 <- dbConnect(odbc::odbc(), driver = \"PostgreSQL Driver\") con2 <- dbConnect(odbc::odbc(), driver = \"SQLite Driver\")"},{"path":"https://r-dbi.github.io/odbc/dev/articles/setup.html","id":"data-source-configuration","dir":"Articles","previous_headings":"","what":"Data source configuration","title":"Installing and Configuring Drivers","text":"’s also possible configure named data sources, instead typing : can type: Windows, can set data source using ODBC Data Source Administrator application used manage ODBC data sources Windows. Linux Mac, ’ll need edit odbc.ini (finding location odbcinst -j). data source defined separate section (defined [name]]), paramter going line, e.g.: driver entry represents name driver defined odbcinst.ini. can see currently defined data sources running odbcListDataSources().","code":"library(DBI) con <- dbConnect( odbc::odbc(), driver = \"PostgreSQL Driver\", database = \"test_db\", username = \"postgres\", password = Sys.getenv(\"PASSWORD\"), host = \"localhost\", port = 5432 ) con <- dbConnect(odbc::odbc(), dsn = \"test_db\") [test_db] driver = PostgreSQL Driver database = test_db username = postgres password = password host = localhost port = 5432"},{"path":"https://r-dbi.github.io/odbc/dev/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Jim Hester. Author. Hadley Wickham. Author, maintainer. Oliver Gjoneski. Author. lexicalunit. Copyright holder. nanodbc library Google Inc.. Copyright holder. cctz library Posit Software, PBC. Copyright holder, funder.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Hester J, Wickham H, Gjoneski O (2023). odbc: Connect ODBC Compatible Databases (using DBI Interface). R package version 1.4.0.9000, https://github.com/r-dbi/odbc, https://solutions.posit.co/connections/db/, https://r-dbi.github.io/odbc/.","code":"@Manual{, title = {odbc: Connect to ODBC Compatible Databases (using the DBI Interface)}, author = {Jim Hester and Hadley Wickham and Oliver Gjoneski}, year = {2023}, note = {R package version 1.4.0.9000, https://github.com/r-dbi/odbc, https://solutions.posit.co/connections/db/}, url = {https://r-dbi.github.io/odbc/}, }"},{"path":"https://r-dbi.github.io/odbc/dev/index.html","id":"odbc","dir":"","previous_headings":"","what":"Connect to ODBC Compatible Databases (using the DBI Interface)","title":"Connect to ODBC Compatible Databases (using the DBI Interface)","text":"goal odbc package provide DBI-compliant interface ODBC drivers. makes easy connect databases SQL Server, Oracle, Databricks, Snowflake. odbc package alternative RODBC RODBCDBI packages, typically much faster. See vignette(\"benchmarks\") learn .","code":""},{"path":"https://r-dbi.github.io/odbc/dev/index.html","id":"overview","dir":"","previous_headings":"","what":"Overview","title":"Connect to ODBC Compatible Databases (using the DBI Interface)","text":"odbc package one piece R interface databases support ODBC: Support given DBMS provided ODBC driver, defines interact DBMS using standardized syntax ODBC SQL. Drivers can downloaded DBMS vendor , ’re Posit customer, using professional drivers. Drivers managed driver manager, responsible configuring driver locations, optionally named data sources describe connect specific database. Windows bundled driver manager, MacOS Linux require installation unixODBC. Drivers often require manual configuration; see vignette(\"setup\") details. R interface, DBI package provides front-end odbc implements back-end communicate driver manager. odbc package built top nanodbc C++ library. interface DBMSs using R odbc: might also use dbplyr package automatically generate SQL dplyr code.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Connect to ODBC Compatible Databases (using the DBI Interface)","text":"Install latest release odbc CRAN following code: get bug fix use feature development version, can install development version odbc GitHub:","code":"install.packages(\"odbc\") # install.packages(\"pak\") pak::pak(\"r-dbi/odbc\")"},{"path":"https://r-dbi.github.io/odbc/dev/index.html","id":"usage","dir":"","previous_headings":"","what":"Usage","title":"Connect to ODBC Compatible Databases (using the DBI Interface)","text":"use odbc, begin creating database connection, might look something like : (See vignette(\"setup\") examples connecting variety databases.) dbListTables() used listing existing tables database. dbReadTable() read full table R data.frame(). dbWriteTable() write R data.frame() SQL table. dbGetQuery() submit SQL query fetch results: also possible submit query fetch separately dbSendQuery() dbFetch(). allows use n argument dbFetch() iterate results otherwise large fit memory.","code":"library(DBI) con <- dbConnect( odbc::odbc(), driver = \"SQL Server\", server = \"my-server\", database = \"my-database\", uid = \"my-username\", pwd = rstudioapi::askForPassword(\"Database password\") ) dbListTables(con) data <- dbReadTable(con, \"flights\") dbWriteTable(con, \"iris\", iris) df <- dbGetQuery( con, \"SELECT flight, tailnum, origin FROM flights ORDER BY origin\" )"},{"path":"https://r-dbi.github.io/odbc/dev/reference/ConnectionAttributes.html","id":null,"dir":"Reference","previous_headings":"","what":"Supported Connection Attributes — SUPPORTED_CONNECTION_ATTRIBUTES","title":"Supported Connection Attributes — SUPPORTED_CONNECTION_ATTRIBUTES","text":"(pre) connection attributes supported can passed part dbConnect call named list attributes parameter:","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/ConnectionAttributes.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Supported Connection Attributes — SUPPORTED_CONNECTION_ATTRIBUTES","text":"azure_token: string scalar; particular Azure Active Directory authentication token. use Microsoft SQL Server limited support away OEM Microsoft driver.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/ConnectionAttributes.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Supported Connection Attributes — SUPPORTED_CONNECTION_ATTRIBUTES","text":"","code":"if (FALSE) { conn <- dbConnect( odbc::odbc(), dsn = \"my_azure_mssql_db\", Encrypt = \"yes\", attributes = list(\"azure_token\" = .token) ) }"},{"path":"https://r-dbi.github.io/odbc/dev/reference/DBI-classes.html","id":null,"dir":"Reference","previous_headings":"","what":"DBI classes — DBI-classes","title":"DBI classes — DBI-classes","text":"DBI classes","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/DBI-methods.html","id":null,"dir":"Reference","previous_headings":"","what":"Unimportant DBI methods — sqlData,OdbcConnection-method","title":"Unimportant DBI methods — sqlData,OdbcConnection-method","text":"Unimportant DBI methods","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/DBI-methods.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Unimportant DBI methods — sqlData,OdbcConnection-method","text":"","code":"# S4 method for OdbcConnection sqlData(con, value, row.names = NA, ...) # S4 method for HDB sqlCreateTable( con, table, fields, row.names = NA, temporary = FALSE, ..., field.types = NULL ) # S4 method for Hive,character dbQuoteString(conn, x, ...) # S4 method for Teradata sqlCreateTable( con, table, fields, row.names = NA, temporary = FALSE, ..., field.types = NULL )"},{"path":"https://r-dbi.github.io/odbc/dev/reference/DBI-methods.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Unimportant DBI methods — sqlData,OdbcConnection-method","text":"... parameters passed methods. conn DBIConnection object, returned dbConnect().","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/DBI-tables.html","id":null,"dir":"Reference","previous_headings":"","what":"Convenience functions for reading/writing DBMS tables — DBI-tables","title":"Convenience functions for reading/writing DBMS tables — DBI-tables","text":"Convenience functions reading/writing DBMS tables","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/DBI-tables.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convenience functions for reading/writing DBMS tables — DBI-tables","text":"","code":"# S4 method for OdbcConnection,character,data.frame dbWriteTable( conn, name, value, overwrite = FALSE, append = FALSE, temporary = FALSE, row.names = NA, field.types = NULL, batch_rows = getOption(\"odbc.batch_rows\", NA), ... ) # S4 method for OdbcConnection,Id,data.frame dbWriteTable( conn, name, value, overwrite = FALSE, append = FALSE, temporary = FALSE, row.names = NA, field.types = NULL, batch_rows = getOption(\"odbc.batch_rows\", NA), ... ) # S4 method for OdbcConnection,SQL,data.frame dbWriteTable( conn, name, value, overwrite = FALSE, append = FALSE, temporary = FALSE, row.names = NA, field.types = NULL, batch_rows = getOption(\"odbc.batch_rows\", NA), ... ) # S4 method for OdbcConnection dbAppendTable(conn, name, value, ..., row.names = NULL) # S4 method for OdbcConnection sqlCreateTable( con, table, fields, row.names = NA, temporary = FALSE, ..., field.types = NULL )"},{"path":"https://r-dbi.github.io/odbc/dev/reference/DBI-tables.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convenience functions for reading/writing DBMS tables — DBI-tables","text":"conn OdbcConnection object, produced DBI::dbConnect() name character string specifying table name. Names automatically quoted can use sequence characters, just valid bare table name. value data.frame write database. overwrite Allow overwriting destination table. TRUE append also TRUE. append Allow appending destination table. TRUE overwrite also TRUE. temporary TRUE, generate temporary table statement. row.names Either TRUE, FALSE, NA string. TRUE, always translate row names column called \"row_names\". FALSE, never translate row names. NA, translate rownames character vector. string equivalent TRUE, allows override default name. backward compatibility, NULL equivalent FALSE. field.types Additional field types used override derived types. batch_rows number rows retrieve. Defaults NA, set dynamically size input. Depending database, driver, dataset free memory setting lower value may improve performance. ... arguments used individual methods. con database connection. table table name, passed dbQuoteIdentifier(). Options : character string unquoted DBMS table name, e.g. \"table_name\", call Id() components fully qualified table name, e.g. Id(schema = \"my_schema\", table = \"table_name\") call SQL() quoted fully qualified table name given verbatim, e.g. SQL('\"my_schema\".\"table_name\"') fields Either character vector data frame. named character vector: Names column names, values types. Names escaped dbQuoteIdentifier(). Field types unescaped. data frame: field types generated using dbDataType().","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/DBI-tables.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convenience functions for reading/writing DBMS tables — DBI-tables","text":"","code":"if (FALSE) { library(DBI) con <- dbConnect(odbc::odbc()) dbListTables(con) dbWriteTable(con, \"mtcars\", mtcars, temporary = TRUE) dbReadTable(con, \"mtcars\") dbListTables(con) dbExistsTable(con, \"mtcars\") # A zero row data frame just creates a table definition. dbWriteTable(con, \"mtcars2\", mtcars[0, ], temporary = TRUE) dbReadTable(con, \"mtcars2\") dbDisconnect(con) }"},{"path":"https://r-dbi.github.io/odbc/dev/reference/OdbcConnection.html","id":null,"dir":"Reference","previous_headings":"","what":"Odbc Connection Methods — OdbcConnection-class","title":"Odbc Connection Methods — OdbcConnection-class","text":"Implementations pure virtual functions defined DBI package OdbcConnection objects.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/OdbcConnection.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Odbc Connection Methods — OdbcConnection-class","text":"","code":"# S4 method for OdbcConnection show(object) # S4 method for OdbcConnection dbIsValid(dbObj, ...) # S4 method for OdbcConnection dbDisconnect(conn, ...) # S4 method for OdbcConnection,character dbSendQuery(conn, statement, params = NULL, ..., immediate = is.null(params)) # S4 method for OdbcConnection,character dbSendStatement(conn, statement, params = NULL, ..., immediate = FALSE) # S4 method for OdbcConnection,ANY dbDataType(dbObj, obj, ...) # S4 method for OdbcConnection,data.frame dbDataType(dbObj, obj, ...) # S4 method for OdbcConnection,character dbQuoteIdentifier(conn, x, ...) # S4 method for OdbcConnection,SQL dbQuoteIdentifier(conn, x, ...) # S4 method for OdbcConnection dbGetInfo(dbObj, ...) # S4 method for OdbcConnection,character dbGetQuery( conn, statement, n = -1, params = NULL, immediate = is.null(params), ... ) # S4 method for OdbcConnection dbBegin(conn, ...) # S4 method for OdbcConnection dbCommit(conn, ...) # S4 method for OdbcConnection dbRollback(conn, ...) # S4 method for OdbcConnection,Id dbExistsTable(conn, name, ...) # S4 method for OdbcConnection,SQL dbExistsTable(conn, name, ...) # S4 method for OdbcConnection,character dbExistsTable(conn, name, ...) # S4 method for OdbcConnection,character dbRemoveTable(conn, name, ...)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/OdbcConnection.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Odbc Connection Methods — OdbcConnection-class","text":"object R object dbObj object inheriting DBIObject, .e. DBIDriver, DBIConnection, DBIResult ... arguments methods. conn DBIConnection object, returned dbConnect(). statement character string containing SQL. params Query parameters pass dbBind(). See dbBind() details. immediate TRUE, SQLExecDirect used instead SQLPrepare, params argument ignored obj R object whose SQL type want determine. x character vector, SQL Id object quote identifier. n maximum number records retrieve per fetch. Use n = -1 n = Inf retrieve pending records. implementations may recognize special values. name table name, passed dbQuoteIdentifier(). Options : character string unquoted DBMS table name, e.g. \"table_name\", call Id() components fully qualified table name, e.g. Id(schema = \"my_schema\", table = \"table_name\") call SQL() quoted fully qualified table name given verbatim, e.g. SQL('\"my_schema\".\"table_name\"')","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/OdbcDriver.html","id":null,"dir":"Reference","previous_headings":"","what":"Odbc Driver Methods — OdbcDriver","title":"Odbc Driver Methods — OdbcDriver","text":"Implementations pure virtual functions defined DBI package OdbcDriver objects.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/OdbcDriver.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Odbc Driver Methods — OdbcDriver","text":"","code":"# S4 method for OdbcDriver show(object) # S4 method for OdbcDriver,ANY dbDataType(dbObj, obj, ...) # S4 method for OdbcDriver,list dbDataType(dbObj, obj, ...) # S4 method for OdbcDriver,data.frame dbDataType(dbObj, obj, ...) # S4 method for OdbcDriver dbIsValid(dbObj, ...) # S4 method for OdbcDriver dbGetInfo(dbObj, ...)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/OdbcDriver.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Odbc Driver Methods — OdbcDriver","text":"object R object dbObj object inheriting DBIDriver DBIConnection obj R object whose SQL type want determine. ... arguments passed methods.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/OdbcResult.html","id":null,"dir":"Reference","previous_headings":"","what":"Odbc Result Methods — OdbcResult","title":"Odbc Result Methods — OdbcResult","text":"Implementations pure virtual functions defined DBI package OdbcResult objects.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/OdbcResult.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Odbc Result Methods — OdbcResult","text":"","code":"# S4 method for OdbcResult dbClearResult(res, ...) # S4 method for OdbcResult dbFetch(res, n = -1, ...) # S4 method for OdbcResult dbHasCompleted(res, ...) # S4 method for OdbcResult dbIsValid(dbObj, ...) # S4 method for OdbcResult dbGetStatement(res, ...) # S4 method for OdbcResult dbColumnInfo(res, ...) # S4 method for OdbcResult dbGetRowCount(res, ...) # S4 method for OdbcResult dbGetRowsAffected(res, ...) # S4 method for OdbcResult dbBind(res, params, ..., batch_rows = getOption(\"odbc.batch_rows\", NA))"},{"path":"https://r-dbi.github.io/odbc/dev/reference/OdbcResult.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Odbc Result Methods — OdbcResult","text":"res object inheriting DBIResult. ... arguments passed methods. n maximum number records retrieve per fetch. Use n = -1 n = Inf retrieve pending records. implementations may recognize special values. dbObj object inheriting DBIObject, .e. DBIDriver, DBIConnection, DBIResult params list bindings, named unnamed. batch_rows number rows retrieve. Defaults NA, set dynamically size input. Depending database, driver, dataset free memory setting lower value may improve performance.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/Oracle.html","id":null,"dir":"Reference","previous_headings":"","what":"Oracle — Oracle-class","title":"Oracle — Oracle-class","text":"Details Oracle methods odbc DBI generics.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/Oracle.html","id":"odbcconnectiontables-","dir":"Reference","previous_headings":"","what":"odbcConnectionTables()","title":"Oracle — Oracle-class","text":"Query, rather use SQLTables ODBC API performance reasons. Main functional difference implementation SQLTables OEM driver query OEM implementation also looks synonyms. Given performance reports, sacrifice synonym look-better execution time.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/Oracle.html","id":"odbcconnectioncolumns-","dir":"Reference","previous_headings":"","what":"odbcConnectionColumns()","title":"Oracle — Oracle-class","text":"Query, rather use SQLColumns ODBC API, since bind BIGINT one column results Oracle's OEM driver handle .","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/Oracle.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Oracle — Oracle-class","text":"","code":"# S4 method for Oracle sqlCreateTable( con, table, fields, row.names = NA, temporary = FALSE, ..., field.types = NULL ) # S4 method for Oracle,character odbcConnectionTables( conn, name, catalog_name = NULL, schema_name = NULL, table_type = NULL, exact = FALSE ) # S4 method for Oracle,character odbcConnectionColumns( conn, name, catalog_name = NULL, schema_name = NULL, column_name = NULL, exact = FALSE )"},{"path":"https://r-dbi.github.io/odbc/dev/reference/SQLServer.html","id":null,"dir":"Reference","previous_headings":"","what":"SQL Server — Microsoft SQL Server-class","title":"SQL Server — Microsoft SQL Server-class","text":"Details SQL Server methods odbc DBI generics.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/SQLServer.html","id":"dbunquoteidentifier-","dir":"Reference","previous_headings":"","what":"dbUnquoteIdentifier()","title":"SQL Server — Microsoft SQL Server-class","text":"conn@quote returns quotation mark, quotation marks square brackets can used interchangeably delimited identifiers. (https://learn.microsoft.com/en-us/sql/relational-databases/databases/database-identifiers). function strips brackets first calls DBI method strip quotation marks.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/SQLServer.html","id":"istemptable-","dir":"Reference","previous_headings":"","what":"isTempTable()","title":"SQL Server — Microsoft SQL Server-class","text":"Local temp tables stored [tempdb].[dbo].[#name]_____[numeric identifier], isTempTable() returns TRUE catalog_name \"tempdb\" \"%\", name starts \"#\".","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/SQLServer.html","id":"dbexiststable-","dir":"Reference","previous_headings":"","what":"dbExistsTable()","title":"SQL Server — Microsoft SQL Server-class","text":"default implementation reports temporary tables non-existent since live different catalog. method provides special case temporary tables, identified isTempTable().","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/SQLServer.html","id":"sqlcreatetable-","dir":"Reference","previous_headings":"","what":"sqlCreateTable()","title":"SQL Server — Microsoft SQL Server-class","text":"Warns temporary = TRUE name conform temp table naming conventions (.e. start #).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/databricks.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper for Connecting to Databricks via ODBC — databricks","title":"Helper for Connecting to Databricks via ODBC — databricks","text":"Connect Databricks clusters SQL warehouses via Databricks ODBC driver. particular, custom dbConnect() method Databricks ODBC driver implements subset Databricks client unified authentication model, support personal access tokens, OAuth machine--machine credentials, OAuth user--machine credentials supplied via Posit Workbench Databricks CLI desktop. credentials detected automatically present using standard environment variables.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/databricks.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper for Connecting to Databricks via ODBC — databricks","text":"","code":"databricks() # S4 method for DatabricksOdbcDriver dbConnect( drv, httpPath, workspace = Sys.getenv(\"DATABRICKS_HOST\"), useNativeQuery = TRUE, driver = NULL, HTTPPath, ... )"},{"path":"https://r-dbi.github.io/odbc/dev/reference/databricks.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper for Connecting to Databricks via ODBC — databricks","text":"drv object inherits DBIDriver, existing DBIConnection object (order clone existing connection). httpPath, HTTPPath query cluster, use HTTP Path value found Advanced Options > JDBC/ODBC Databricks UI. SQL warehouses, found Connection Details instead. workspace URL Databricks workspace, e.g. \"https://example.cloud.databricks.com\". useNativeQuery Suppress driver's conversion ANSI SQL 92 HiveSQL? default (TRUE), gives greater performance means paramterised queries (hence dbWriteTable()) work. driver name Databricks ODBC driver, NULL use default name. ... arguments passed dbConnect().","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/databricks.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Helper for Connecting to Databricks via ODBC — databricks","text":"OdbcConnection object active connection Databricks cluster SQL warehouse.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/databricks.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Helper for Connecting to Databricks via ODBC — databricks","text":"","code":"if (FALSE) { DBI::dbConnect( odbc::databricks(), httpPath = \"sql/protocolv1/o/4425955464597947/1026-023828-vn51jugj\" ) }"},{"path":"https://r-dbi.github.io/odbc/dev/reference/dbConnect-OdbcDriver-method.html","id":null,"dir":"Reference","previous_headings":"","what":"Connect to a database via an ODBC driver — odbc","title":"Connect to a database via an ODBC driver — odbc","text":"dbConnect() method documented invoked DBI::dbConnect() called first argument odbc(). Connecting database via ODBC driver likely first step analyzing data using odbc package; overview package concepts, see Overview section .","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/dbConnect-OdbcDriver-method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Connect to a database via an ODBC driver — odbc","text":"","code":"odbc() # S4 method for OdbcDriver dbConnect( drv, dsn = NULL, ..., timezone = \"UTC\", timezone_out = \"UTC\", encoding = \"\", bigint = c(\"integer64\", \"integer\", \"numeric\", \"character\"), timeout = 10, driver = NULL, server = NULL, database = NULL, uid = NULL, pwd = NULL, dbms.name = NULL, attributes = NULL, .connection_string = NULL )"},{"path":"https://r-dbi.github.io/odbc/dev/reference/dbConnect-OdbcDriver-method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Connect to a database via an ODBC driver — odbc","text":"drv OdbcDriver, odbc(). dsn data source name. currently available options, see name column odbcListDataSources() output. ... Additional ODBC keywords. joined arguments form final connection string. Note ODBC parameter names case-insensitive (e.g.) DRV drv equivalent. Since different R possible source confusion, odbc error supply multiple arguments name case ignored. argument values contain []{}(),;?*=!@ \"quoted\" wrapping {}. can opt-behaviour wrapping value (). timezone server time zone. Useful database internal timezone 'UTC'. database local timezone, set argument Sys.timezone(). See OlsonNames() complete list available time zones system. timezone_out time zone returned R. want display datetime values local timezone, set Sys.timezone(). encoding text encoding used Database. database using UTF-8 need set encoding get accurate re-encoding. See iconvlist() complete list available encodings system. Note strings always returned UTF-8 encoded. bigint R type SQL_BIGINT types mapped . Default bit64::integer64, allows full range 64 bit integers. timeout Time seconds timeout connection attempt. Setting timeout Inf indicates timeout. Defaults 10 seconds. driver ODBC driver name path driver. currently available options, see name column odbcListDrivers() output. server server hostname. drivers use Servername name argument. required configured supplied dsn. database database server. required configured supplied dsn. uid user identifier. drivers use username name argument. required configured supplied dsn. pwd password. drivers use password name argument. required configured supplied dsn. dbms.name database management system name. normally queried automatically ODBC driver. name used class name OdbcConnection object returned dbConnect(). However, driver return valid value, can set manually parameter. attributes S4 object connection attributes passed prior connection established. See ConnectionAttributes. .connection_string complete connection string, useful copy pasting another source. argument used, additional arguments appended string.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/dbConnect-OdbcDriver-method.html","id":"connection-strings","dir":"Reference","previous_headings":"","what":"Connection strings","title":"Connect to a database via an ODBC driver — odbc","text":"Internally, dbConnect() creates connection string using supplied arguments. Connection string keywords driver-dependent; arguments documented common, drivers may accept . Alternatively configuring DSNs driver names driver manager, can pass complete connection string directly .connection_string argument. Connection Strings Reference useful resource example connection strings large variety databases.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/dbConnect-OdbcDriver-method.html","id":"overview","dir":"Reference","previous_headings":"","what":"Overview","title":"Connect to a database via an ODBC driver — odbc","text":"odbc package one piece R interface databases support ODBC: package supports Database Management System (DBMS) ODBC support. Support given DBMS provided ODBC driver, defines interact DBMS using standardized syntax ODBC SQL. Drivers can downloaded DBMS vendor , Posit customer, using professional drivers. manage information driver data sources provide access , computers use driver manager. Windows bundled driver manager, MacOS Linux require installation one; package supports unixODBC driver manager. R interface, DBI package provides front-end odbc implements back-end communicate driver manager. odbc package built top nanodbc C++ library. Interfacing DBMSs using R odbc involves three high-level steps: Configure drivers data sources: functions odbcListDrivers() odbcListDataSources() help interface driver manager. Connect database: dbConnect() function, called first argument odbc(), connects database using specified ODBC driver create connection object. Interface connections: resulting connection object can passed various functions retrieve information database structure (dbListTables()), iteratively develop queries (dbSendQuery(), dbColumnInfo()), query data objects (dbFetch()).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/dbConnect-OdbcDriver-method.html","id":"learn-more","dir":"Reference","previous_headings":"","what":"Learn more","title":"Connect to a database via an ODBC driver — odbc","text":"learn databases: \"Best Practices Working Databases\" documents use odbc package various popular databases. pyodbc \"Drivers Driver Managers\" Wiki provides context drivers driver managers. Microsoft's \"Introduction ODBC\" thorough resource ODBC interface.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/dbListTables-OdbcConnection-method.html","id":null,"dir":"Reference","previous_headings":"","what":"List remote tables and fields for an ODBC connection — dbListTables,OdbcConnection-method","title":"List remote tables and fields for an ODBC connection — dbListTables,OdbcConnection-method","text":"dbListTables() provides names remote tables accessible connection; dbListFields() provides names columns within table.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/dbListTables-OdbcConnection-method.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List remote tables and fields for an ODBC connection — dbListTables,OdbcConnection-method","text":"","code":"# S4 method for OdbcConnection dbListTables( conn, catalog_name = NULL, schema_name = NULL, table_name = NULL, table_type = NULL, ... ) # S4 method for OdbcConnection,character dbListFields( conn, name, catalog_name = NULL, schema_name = NULL, column_name = NULL, ... )"},{"path":"https://r-dbi.github.io/odbc/dev/reference/dbListTables-OdbcConnection-method.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"List remote tables and fields for an ODBC connection — dbListTables,OdbcConnection-method","text":"conn DBIConnection object, returned dbConnect(). catalog_name, schema_name, table_name Catalog, schema, table names. default, catalog_name, schema_name table_name automatically escape underscores ensure match exactly one table. want search multiple tables using wild cards, need use odbcConnectionTables() directly instead. table_type type table return, default returns table types. ... parameters passed methods. name table name, passed dbQuoteIdentifier(). Options : character string unquoted DBMS table name, e.g. \"table_name\", call Id() components fully qualified table name, e.g. Id(schema = \"my_schema\", table = \"table_name\") call SQL() quoted fully qualified table name given verbatim, e.g. SQL('\"my_schema\".\"table_name\"') column_name name column return, default returns columns.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/dbListTables-OdbcConnection-method.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"List remote tables and fields for an ODBC connection — dbListTables,OdbcConnection-method","text":"character vector table field names respectively.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/isTempTable.html","id":null,"dir":"Reference","previous_headings":"","what":"Helper method used to determine if a table identifier is that\nof a temporary table. — isTempTable","title":"Helper method used to determine if a table identifier is that\nof a temporary table. — isTempTable","text":"Currently implemented select back-ends use (SQL Server, example). Generic, case develop broader use case.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/isTempTable.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helper method used to determine if a table identifier is that\nof a temporary table. — isTempTable","text":"","code":"isTempTable(conn, name, ...) # S4 method for OdbcConnection,Id isTempTable(conn, name, ...) # S4 method for OdbcConnection,SQL isTempTable(conn, name, ...)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/isTempTable.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Helper method used to determine if a table identifier is that\nof a temporary table. — isTempTable","text":"conn OdbcConnection name Table name ... additional parameters methods","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbc-package.html","id":null,"dir":"Reference","previous_headings":"","what":"odbc: Connect to ODBC Compatible Databases (using the DBI Interface) — odbc-package","title":"odbc: Connect to ODBC Compatible Databases (using the DBI Interface) — odbc-package","text":"DBI-compatible interface ODBC databases.","code":""},{"path":[]},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbc-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"odbc: Connect to ODBC Compatible Databases (using the DBI Interface) — odbc-package","text":"Maintainer: Hadley Wickham hadley@posit.co Authors: Jim Hester Oliver Gjoneski contributors: lexicalunit (nanodbc library) [copyright holder] Google Inc. (cctz library) [copyright holder] Posit Software, PBC [copyright holder, funder]","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionActions.html","id":null,"dir":"Reference","previous_headings":"","what":"List the actions supported for the connection — odbcConnectionActions","title":"List the actions supported for the connection — odbcConnectionActions","text":"Return list actions can performed connection.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionActions.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List the actions supported for the connection — odbcConnectionActions","text":"","code":"odbcConnectionActions(connection)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionActions.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"List the actions supported for the connection — odbcConnectionActions","text":"connection connection object, returned dbConnect().","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionActions.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"List the actions supported for the connection — odbcConnectionActions","text":"named list actions can performed connection.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionActions.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"List the actions supported for the connection — odbcConnectionActions","text":"list returned named list actions, action following properties: callback function invoked perform action icon optional path icon representing action","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionCatalogs.html","id":null,"dir":"Reference","previous_headings":"","what":"odbcConnectionCatalogs — odbcConnectionCatalogs","title":"odbcConnectionCatalogs — odbcConnectionCatalogs","text":"function returns listing available catalogs.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionCatalogs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"odbcConnectionCatalogs — odbcConnectionCatalogs","text":"","code":"odbcConnectionCatalogs(conn) # S4 method for OdbcConnection odbcConnectionCatalogs(conn)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionCatalogs.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"odbcConnectionCatalogs — odbcConnectionCatalogs","text":"conn OdbcConnection","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionColumns.html","id":null,"dir":"Reference","previous_headings":"","what":"odbcConnectionColumns — odbcConnectionColumns","title":"odbcConnectionColumns — odbcConnectionColumns","text":"given table function returns detailed information fields / columns. expectation relatively thin wrapper around ODBC SQLColumns function call, field names renamed / re-ordered according return specifications .","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionColumns.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"odbcConnectionColumns — odbcConnectionColumns","text":"","code":"odbcConnectionColumns(conn, name, ..., exact = FALSE) # S4 method for OdbcConnection,Id odbcConnectionColumns(conn, name, ..., column_name = NULL, exact = FALSE) # S4 method for OdbcConnection,character odbcConnectionColumns( conn, name, ..., catalog_name = NULL, schema_name = NULL, column_name = NULL, exact = FALSE ) # S4 method for OdbcConnection,SQL odbcConnectionColumns(conn, name, ..., exact = FALSE)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionColumns.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"odbcConnectionColumns — odbcConnectionColumns","text":"conn OdbcConnection name, catalog_name, schema_name Catalog, schema, table identifiers. default, interpreted ODBC search pattern _ % wild cards. Set exact = TRUE match _ exactly. ... additional parameters methods exact Set TRUE escape _ identifier names matches exactly, rather matching single character. % always matches number characters unlikely appear table name. column_name name column return, default returns columns.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionColumns.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"odbcConnectionColumns — odbcConnectionColumns","text":"data.frame columns name field.type - equivalent type_name SQLColumns output table_name schema_name catalog_name data_type column_size buffer_length decimal_digits numeric_precision_radix remarks column_default sql_data_type sql_datetime_subtype char_octet_length ordinal_position nullable","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionColumns.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"odbcConnectionColumns — odbcConnectionColumns","text":"dbWriteTable() make call method get details fields table writing . particular columns data_type, column_size, decimal_digits used. implementation necessary dbWriteTable() work. odbcConnectionColumns routed SQLColumns ODBC method. function, together remaining catalog functions (SQLTables, etc), default ( SQL_ATTR_METADATA_ID == false ) expect either ordinary arguments (OA) case catalog, pattern value arguments (PV) case schema/table name. , quoted identifiers make sense, unquote identifiers prior call.","code":""},{"path":[]},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionIcon.html","id":null,"dir":"Reference","previous_headings":"","what":"Get an icon representing a connection. — odbcConnectionIcon","title":"Get an icon representing a connection. — odbcConnectionIcon","text":"Return path disk icon representing connection.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionIcon.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get an icon representing a connection. — odbcConnectionIcon","text":"","code":"odbcConnectionIcon(connection)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionIcon.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get an icon representing a connection. — odbcConnectionIcon","text":"connection connection object, returned dbConnect().","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionIcon.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get an icon representing a connection. — odbcConnectionIcon","text":"path icon file disk.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionIcon.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get an icon representing a connection. — odbcConnectionIcon","text":"icon returned 32x32 square image file.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionSchemas.html","id":null,"dir":"Reference","previous_headings":"","what":"odbcConnectionSchemas — odbcConnectionSchemas","title":"odbcConnectionSchemas — odbcConnectionSchemas","text":"function returns listing available schemas.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionSchemas.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"odbcConnectionSchemas — odbcConnectionSchemas","text":"","code":"odbcConnectionSchemas(conn, catalog_name) # S4 method for OdbcConnection,ANY odbcConnectionSchemas(conn, catalog_name = NULL) # S4 method for OdbcConnection,character odbcConnectionSchemas(conn, catalog_name)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionSchemas.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"odbcConnectionSchemas — odbcConnectionSchemas","text":"conn OdbcConnection catalog_name Catalog looking list schemas.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionSchemas.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"odbcConnectionSchemas — odbcConnectionSchemas","text":"Currently, generic connection catalog_name argument ignored. Databricks supports multiple catalogs. hand, default implementation odbcConnectionSchemas routes SQLTables likely enumerate schemas currently active catalog . implementation respect catalog_name arrgument.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionTableTypes.html","id":null,"dir":"Reference","previous_headings":"","what":"odbcConnectionTableTypes — odbcConnectionTableTypes","title":"odbcConnectionTableTypes — odbcConnectionTableTypes","text":"function returns listing table types available database.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionTableTypes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"odbcConnectionTableTypes — odbcConnectionTableTypes","text":"","code":"odbcConnectionTableTypes(conn) # S4 method for OdbcConnection odbcConnectionTableTypes(conn)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionTableTypes.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"odbcConnectionTableTypes — odbcConnectionTableTypes","text":"conn OdbcConnection","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionTables.html","id":null,"dir":"Reference","previous_headings":"","what":"odbcConnectionTables — odbcConnectionTables","title":"odbcConnectionTables — odbcConnectionTables","text":"function returns listing tables accessible connected user. expectation relatively thin wrapper around ODBC SQLTables function call, albeit returning subset fields.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionTables.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"odbcConnectionTables — odbcConnectionTables","text":"","code":"odbcConnectionTables(conn, name, ...) # S4 method for OdbcConnection,Id odbcConnectionTables(conn, name, table_type = NULL, exact = FALSE) # S4 method for OdbcConnection,character odbcConnectionTables( conn, name, catalog_name = NULL, schema_name = NULL, table_type = NULL, exact = FALSE ) # S4 method for OdbcConnection,ANY odbcConnectionTables( conn, name = NULL, catalog_name = NULL, schema_name = NULL, table_type = NULL, exact = FALSE ) # S4 method for OdbcConnection,SQL odbcConnectionTables(conn, name, table_type = NULL, exact = FALSE)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionTables.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"odbcConnectionTables — odbcConnectionTables","text":"conn OdbcConnection name, catalog_name, schema_name Catalog, schema, table identifiers. default, interpreted ODBC search pattern _ % wild cards. Set exact = TRUE match _ exactly. ... additional parameters methods table_type List tables type, example 'VIEW'. See odbcConnectionTableTypes listing available table types connection. exact Set TRUE escape _ identifier names matches exactly, rather matching single character. % always matches number characters unlikely appear table name.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionTables.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"odbcConnectionTables — odbcConnectionTables","text":"data.frame columns table_catalog table_schema table_name table_remarks","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcConnectionTables.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"odbcConnectionTables — odbcConnectionTables","text":"important note , similar ODBC/API call, method also accomodates pattern-value arguments catalog, schema, table name arguments. extending method, aware package:odbc internally uses method satisfy DBI::dbListTables DBI::dbExistsTable methods. ( former also advertises pattern value arguments )","code":""},{"path":[]},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcDataType.html","id":null,"dir":"Reference","previous_headings":"","what":"Return the corresponding ODBC data type for an R object — odbcDataType","title":"Return the corresponding ODBC data type for an R object — odbcDataType","text":"used creating new table dbWriteTable(). Databases default methods defined MySQL PostgreSQL SQL Server Oracle SQLite Spark Hive Impala Redshift Vertica BigQuery Teradata Access","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcDataType.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Return the corresponding ODBC data type for an R object — odbcDataType","text":"","code":"odbcDataType(con, obj, ...)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcDataType.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Return the corresponding ODBC data type for an R object — odbcDataType","text":"con driver connection object, returned dbConnect(). obj R object. ... Additional arguments passed methods.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcDataType.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Return the corresponding ODBC data type for an R object — odbcDataType","text":"Corresponding SQL type obj.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcDataType.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Return the corresponding ODBC data type for an R object — odbcDataType","text":"using different database dbWriteTable() fails SQL parsing error default method appropriate, need write new method.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcDataType.html","id":"defining-a-new-dbdatatype-method","dir":"Reference","previous_headings":"","what":"Defining a new dbDataType method","title":"Return the corresponding ODBC data type for an R object — odbcDataType","text":"object type connection database name retrieved dbGetInfo(con)$dbms.name. Use documentation provided database determine appropriate values R data type. example method definition fictional foo database follows.","code":"con <- dbConnect(odbc::odbc(), \"FooConnection\") dbGetInfo(con)$dbms.name #> [1] \"foo\" `odbcDataType.foo <- function(con, obj, ...) { switch_type(obj, factor = \"VARCHAR(255)\", datetime = \"TIMESTAMP\", date = \"DATE\", binary = \"BINARY\", integer = \"INTEGER\", double = \"DOUBLE\", character = \"VARCHAR(255)\", logical = \"BIT\", list = \"VARCHAR(255)\", stop(\"Unsupported type\", call. = FALSE) ) }"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListColumns.html","id":null,"dir":"Reference","previous_headings":"","what":"List columns in an object. — odbcListColumns","title":"List columns in an object. — odbcListColumns","text":"Lists names types column (field) specified object.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListColumns.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List columns in an object. — odbcListColumns","text":"","code":"odbcListColumns(connection, ...)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListColumns.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"List columns in an object. — odbcListColumns","text":"connection connection object, returned dbConnect(). ... Parameters specifying object.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListColumns.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"List columns in an object. — odbcListColumns","text":"data frame name type columns, listing object's fields.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListColumns.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"List columns in an object. — odbcListColumns","text":"object inspect must specified one arguments (e.g. table = \"employees\"); depending driver underlying data store, additional specification arguments may required.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListConfig.html","id":null,"dir":"Reference","previous_headings":"","what":"List locations of ODBC configuration files — odbcListConfig","title":"List locations of ODBC configuration files — odbcListConfig","text":"MacOS Linux, odbc uses unixODBC driver manager manage information driver data sources. helper returns filepaths driver manager look information. function wrapper around command line call odbcinst -j. Windows use .ini configuration files; function return 0-length vector Windows.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListConfig.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List locations of ODBC configuration files — odbcListConfig","text":"","code":"odbcListConfig()"},{"path":[]},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListConfig.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"List locations of ODBC configuration files — odbcListConfig","text":"","code":"if (FALSE) { configs <- odbcListConfig() file.edit(configs[1]) }"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListDataSources.html","id":null,"dir":"Reference","previous_headings":"","what":"List Configured Data Source Names — odbcListDataSources","title":"List Configured Data Source Names — odbcListDataSources","text":"Collect information available data source names (DSNs). DSN must installed configured driver manager included list. Configuring DSN just sets lookup table (e.g. odbc.ini) allow users pass DSN dbConnect(). DSNs configured driver manager can still connected dbConnect() providing DSN metadata directly.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListDataSources.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List Configured Data Source Names — odbcListDataSources","text":"","code":"odbcListDataSources()"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListDataSources.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"List Configured Data Source Names — odbcListDataSources","text":"data frame two columns: name Name data source. entries column can passed dsn argument dbConnect(). description Data source description.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListDataSources.html","id":"configuration","dir":"Reference","previous_headings":"","what":"Configuration","title":"List Configured Data Source Names — odbcListDataSources","text":"function interfaces driver manager collect information available data source names. MacOS Linux, odbc package supports unixODBC driver manager. unixODBC looks odbc.ini configuration file information DSNs. Find location(s) odbc.ini file(s) odbcinst -j. example odbc.ini file: ...data source name MySQL, appear name column function's output. pass DSN dsn argument dbConnect(), pass string, like \"MySQL\". Driver = MySQL Driver references driver name odbcListDrivers() output. Windows bundled ODBC driver manager. DSN configured driver manager, information DSN automatically passed dbConnect() dsn argument set. example, MySQL data source name configured, driver name MySQL Driver appearing odbcListDrivers() output, code: ...can written: case, dbConnect() look information defined MySQL driver manager (example, odbc.ini) automatically pass needed arguments.","code":"[MySQL] Driver = MySQL Driver Database = test Server = 127.0.0.1 User = root password = root Port = 3306 con <- dbConnect( odbc::odbc(), Driver = \"MySQL Driver\", Database = \"test\", Server = \"127.0.0.1\", User = \"root\", password = \"root\", Port = 3306 ) con <- dbConnect(odbc::odbc(), dsn = \"MySQL\")"},{"path":[]},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListDrivers.html","id":null,"dir":"Reference","previous_headings":"","what":"List Configured ODBC Drivers — odbcListDrivers","title":"List Configured ODBC Drivers — odbcListDrivers","text":"Collect information configured driver names. driver must installed configured driver manager included list. Configuring driver name just sets lookup table (e.g. odbcinst.ini) allow users pass driver name dbConnect(). Driver names configured driver manager (thus appear function's output) can still used dbConnect() providing path driver directly.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListDrivers.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List Configured ODBC Drivers — odbcListDrivers","text":"","code":"odbcListDrivers( keep = getOption(\"odbc.drivers_keep\"), filter = getOption(\"odbc.drivers_filter\") )"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListDrivers.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"List Configured ODBC Drivers — odbcListDrivers","text":"keep, filter character vector driver names keep remove results, respectively. NULL, driver names kept, none removed, respectively. odbc.drivers_keep odbc.drivers_filter options control argument defaults. Driver names first processed keep, filter. Thus, driver name keep filter, appear output.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListDrivers.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"List Configured ODBC Drivers — odbcListDrivers","text":"data frame three columns. name Name driver. entries column can passed driver argument dbConnect() (long driver accepts argument). attribute Driver attribute name. value Driver attribute value. driver multiple attributes, one row per attribute, driver name. given driver name attributes, function return one row driver name, last two columns NA.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListDrivers.html","id":"configuration","dir":"Reference","previous_headings":"","what":"Configuration","title":"List Configured ODBC Drivers — odbcListDrivers","text":"function interfaces driver manager collect information available driver names. MacOS Linux, odbc package supports unixODBC driver manager. unixODBC looks odbcinst.ini configuration file information driver names. Find location(s) odbcinst.ini file(s) odbcinst -j. example odbcinst.ini file: driver name MySQL Driver, appear name column function's output. pass driver name driver argument dbConnect(), pass string, like \"MySQL Driver\". Windows bundled ODBC driver manager. example, function output include 1 row: name column read \"MySQL Driver\", attribute \"Driver\", value give file path driver. Additional key-value pairs driver name add additional rows name entry. driver configured driver manager, information driver automatically passed dbConnect() driver argument set. example, see section odbcListDataSources() help-file. Instead configuring driver information driver manager, also possible provide path driver directly dbConnect().","code":"[MySQL Driver] Driver=/opt/homebrew/Cellar/mysql/8.2.0_1/lib/libmysqlclient.dylib"},{"path":[]},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListDrivers.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"List Configured ODBC Drivers — odbcListDrivers","text":"","code":"if (FALSE) { odbcListDrivers() }"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListObjectTypes.html","id":null,"dir":"Reference","previous_headings":"","what":"Return the object hierarchy supported by a connection. — odbcListObjectTypes","title":"Return the object hierarchy supported by a connection. — odbcListObjectTypes","text":"Lists object types metadata known connection, object types relate .","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListObjectTypes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Return the object hierarchy supported by a connection. — odbcListObjectTypes","text":"","code":"odbcListObjectTypes(connection)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListObjectTypes.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Return the object hierarchy supported by a connection. — odbcListObjectTypes","text":"connection connection object, returned dbConnect().","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListObjectTypes.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Return the object hierarchy supported by a connection. — odbcListObjectTypes","text":"hierarchy object types supported connection.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListObjectTypes.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Return the object hierarchy supported by a connection. — odbcListObjectTypes","text":"returned hierarchy takes form nested list, object type supported connection named list following attributes: contains list object types contained object, \"data\" object contains data icon optional path icon representing type instance, connection top-level object schema contains tables views, function return list like following:","code":"list(schema = list(contains = list( list(name = \"table\", contains = \"data\") list(name = \"view\", contains = \"data\"))))"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListObjects.html","id":null,"dir":"Reference","previous_headings":"","what":"List objects in a connection. — odbcListObjects","title":"List objects in a connection. — odbcListObjects","text":"Lists objects connection, objects specific attributes.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListObjects.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List objects in a connection. — odbcListObjects","text":"","code":"odbcListObjects(connection, ...)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListObjects.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"List objects in a connection. — odbcListObjects","text":"connection connection object, returned dbConnect(). ... Attributes filter .","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListObjects.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"List objects in a connection. — odbcListObjects","text":"data frame name type columns, listing objects.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcListObjects.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"List objects in a connection. — odbcListObjects","text":"used without parameters, function returns objects known connection. parameters passed filter list objects given attributes; instance, passing schema = \"foo\" return objects matching schema foo.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcPreviewObject.html","id":null,"dir":"Reference","previous_headings":"","what":"Preview the data in an object. — odbcPreviewObject","title":"Preview the data in an object. — odbcPreviewObject","text":"Return data inside object data frame.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcPreviewObject.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Preview the data in an object. — odbcPreviewObject","text":"","code":"odbcPreviewObject(connection, rowLimit, ...)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcPreviewObject.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Preview the data in an object. — odbcPreviewObject","text":"connection connection object, returned dbConnect(). rowLimit maximum number rows display. ... Parameters specifying object.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcPreviewObject.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Preview the data in an object. — odbcPreviewObject","text":"data frame containing data object.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcPreviewObject.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Preview the data in an object. — odbcPreviewObject","text":"object previewed must specified one arguments (e.g. table = \"employees\"); depending driver underlying data store, additional specification arguments may required.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcPreviewQuery.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a preview query. — odbcPreviewQuery","title":"Create a preview query. — odbcPreviewQuery","text":"Optimize rowLimit argument. S3 since back-ends parse LIMIT syntax. Internal, expected users interact method.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcPreviewQuery.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a preview query. — odbcPreviewQuery","text":"","code":"odbcPreviewQuery(connection, rowLimit, name) # S3 method for OdbcConnection odbcPreviewQuery(connection, rowLimit, name) # S3 method for `Microsoft SQL Server` odbcPreviewQuery(connection, rowLimit, name) # S3 method for Oracle odbcPreviewQuery(connection, rowLimit, name)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcPreviewQuery.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a preview query. — odbcPreviewQuery","text":"connection connection object, returned dbConnect(). rowLimit maximum number rows display. name Name object previewed","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcSetTransactionIsolationLevel.html","id":null,"dir":"Reference","previous_headings":"","what":"Set the Transaction Isolation Level for a Connection — odbcSetTransactionIsolationLevel","title":"Set the Transaction Isolation Level for a Connection — odbcSetTransactionIsolationLevel","text":"Set Transaction Isolation Level Connection","code":""},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcSetTransactionIsolationLevel.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set the Transaction Isolation Level for a Connection — odbcSetTransactionIsolationLevel","text":"","code":"odbcSetTransactionIsolationLevel(conn, levels)"},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcSetTransactionIsolationLevel.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set the Transaction Isolation Level for a Connection — odbcSetTransactionIsolationLevel","text":"conn DBIConnection object, returned dbConnect(). levels One ‘read_uncommitted’, ‘read_committed’, ‘repeatable_read’, ‘serializable’ .","code":""},{"path":[]},{"path":"https://r-dbi.github.io/odbc/dev/reference/odbcSetTransactionIsolationLevel.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Set the Transaction Isolation Level for a Connection — odbcSetTransactionIsolationLevel","text":"","code":"if (FALSE) { # Can use spaces or underscores in between words. odbcSetTransactionIsolationLevel(con, \"read uncommitted\") # Can also use the full constant name. odbcSetTransactionIsolationLevel(con, \"SQL_TXN_READ_UNCOMMITTED\") }"},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-development-version","dir":"Changelog","previous_headings":"","what":"odbc (development version)","title":"odbc (development version)","text":"Added function odbcListConfig() help locate configuration files macOS Linux (@simonpcouch, #565). Use correct parent class Oracle (#685).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-140","dir":"Changelog","previous_headings":"","what":"odbc 1.4.0","title":"odbc 1.4.0","text":"CRAN release: 2023-12-15","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"major-changes-1-4-0","dir":"Changelog","previous_headings":"","what":"Major changes","title":"odbc 1.4.0","text":"New odbc::databricks() makes easier connect Databricks, automatically handling many common authentication scenarios (@atheriel, #615). dbListTables(), dbListFields() dbExistsTable() automatically escape underscores identifier arguments. leads substantial performance improvements backends (e.g. snowflake) (@detule, @fh-afrachioni, #618). dbGetQuery() dbSendQuery() now set immediate = TRUE using parameterised query. yield small speed boost many cases (#633).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"minor-improvements-and-bug-fixes-1-4-0","dir":"Changelog","previous_headings":"","what":"Minor improvements and bug fixes","title":"odbc 1.4.0","text":"Increased minimum required R version 3.2.0 3.6.0 (@simonpcouch, #629). S4 classes database drivers now exported, make possible use packages (#558). ODBC errors now spread across multiple lines, making easier read (@detule, #564). DBI::dbConnect(odbc::odbc()) now gives clear error supply multiple arguments name case ignored (#641). DBI::dbConnect(odbc::odbc()) now automatically quotes argument values need (#616).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"driver-specific-changes-1-4-0","dir":"Changelog","previous_headings":"","what":"Driver specific changes","title":"odbc 1.4.0","text":"Oracle: Fix regression falling back odbcConnectionColumns() describe column data types (@detule, #587) Spark SQL: Correctly enumerate schemas away current catalog (@detule, #614) Snowflake: improved translation R snowflake types (@meztez, #599). SQL Server Improved handling local temp tables dbWrite(), dbAppendTable(), dbExistTable() (@detule, #600) Specialize syntax sqlCreateTable avoid failures writing (new) local temp tables. (@detule, #601) Teradata: Improved handling temp tables (@detule @But2ene, #589, 590)","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-135","dir":"Changelog","previous_headings":"","what":"odbc 1.3.5","title":"odbc 1.3.5","text":"CRAN release: 2023-06-29 Various fixes R CMD check. argument order sqlCreateTable() methods avoiding weird argument mismatch problems (#448). Fixed truncation retrieving unicode data stored VAR/CHAR columns (@detule, #553). Fixed issue related fetching zero rows (@detule, #528). Backend specific improvements: MYSQL: Fixed retrieving results stored procedures (@detule, #435). Oracle: performance enhancements (#577) Spark: Changed data type date-times DATE TIMESTAMP (@schuemie, #555).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-134","dir":"Changelog","previous_headings":"","what":"odbc 1.3.4","title":"odbc 1.3.4","text":"CRAN release: 2023-01-17 Optimized table preview methods. Enhances large table preview within RStudio IDE (@detule, #525). Added attributes parameter dbConnect(...). Can used pass token authenticate Azure AD using Microsoft SQL Server. Documented ?ConnectionAttributes (@detule, #521). Fix length(x) = 3 > 1' coercion 'logical(1) warning connection observer (@meztez, #494).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-133","dir":"Changelog","previous_headings":"","what":"odbc 1.3.3","title":"odbc 1.3.3","text":"CRAN release: 2021-11-30 Hadley Wickham now maintainer.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-132","dir":"Changelog","previous_headings":"","what":"odbc 1.3.2","title":"odbc 1.3.2","text":"CRAN release: 2021-04-03 New odbcDataType.Snowflake() method Snowflake databases. (@edgararuiz, #451)","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-131","dir":"Changelog","previous_headings":"","what":"odbc 1.3.1","title":"odbc 1.3.1","text":"CRAN release: 2021-03-16 Fixed warnings anonymous unions (@detule, #440) Fixed invalid descriptor issues retrieving results SQL Server + Microsoft’s ODBC driver, using parametrized queries. (@detule, #414) Fixed null handling SQL Server / Azure result sets retrieved Microsoft’s ODBC driver. (@detule, #408) Hive uses C-style escaping string literals (single quotes backslash-escaped, note single quote-escaped). dbQuoteString now respects called connection class Hive. (@rnorberg, #184) calling sqlCreateTable(con, ..., temporary = TRUE) con connection class DB2/AIX64, CREATE TABLE statement generated properly creates temporary table DB2. statement begins DECLARE GLOBAL TEMPORARY TABLE ends COMMIT PRESERVE ROWS (DB2’s default behavior COMMIT DELETE ROWS, results inserted data deleted soon dbWriteTable completes). (@rnorberg, #426) Fixed RStudio Connections Pane working database one catalog one schema. (@meztez, #444)","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-130","dir":"Changelog","previous_headings":"","what":"odbc 1.3.0","title":"odbc 1.3.0","text":"CRAN release: 2020-10-27","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"major-changes-1-3-0","dir":"Changelog","previous_headings":"","what":"Major changes","title":"odbc 1.3.0","text":"odbc can now compiled Rtools35 (gcc 4.9.3) Windows (#383) invalid descriptor errors drivers Microsoft SQLServer driver freeTDS driver support order retrieval now avoided. done unbinding nanodbc buffer past long column. Performance unbound columns cases reduced, retrieval work without error (@detule, #381) dbBind() dbFetch() now support multiple result sets (@vkapartzianis, #345)","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"minor-improvements-and-fixes-1-3-0","dir":"Changelog","previous_headings":"","what":"Minor improvements and fixes","title":"odbc 1.3.0","text":"New dbAppendTable() method OdbcConnection objects (#335) dbQuoteIdentifier() now uses input names (). dbWriteTable() dbBind() now default batch_rows NA, sets batch size length input. avoids problems drivers don’t support batch sizes larger input size. restore behavior prior release pass batch_rows = 1024 set options(odbc.batch_rows = 1024) (#391). dbWriteTable() now handles data.table::IDate() objects (#388) dbWriteTable(field.types=) now issues warning rather error missing columns (#342) odbcConnectionColumns() now works intended DBI::Id() objects (#389) dbFetch() now verifies n valid input. Dates now always interpreted database’s local time zone, regardless timezone parameter (#398) Oracle connections now support Date POSIXct types via DATE TIMESTAMP data types (#324, #349, #350) Oracle connections now use VARCHAR2 rather VARCHAR, recommended Oracle’s documentation (#189)","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-123","dir":"Changelog","previous_headings":"","what":"odbc 1.2.3","title":"odbc 1.2.3","text":"CRAN release: 2020-06-18 dbWriteTable() now executes immediately, fixes issues temporary tables FreeTDS SQL Server driver (@krlmlr). blob roundtrips now work cases (#364, @krlmlr). BH dependency removed (#326)","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-122","dir":"Changelog","previous_headings":"","what":"odbc 1.2.2","title":"odbc 1.2.2","text":"CRAN release: 2020-01-10 configure script now uses iodbc-config macOS, available. Fix errors drivers fully implement SQLGetInfo (#325).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-121","dir":"Changelog","previous_headings":"","what":"odbc 1.2.1","title":"odbc 1.2.1","text":"CRAN release: 2019-12-05 Fix unicode character width issues macOS odbc CRAN binary. (#283) configure script now works systems whose /bin/sh support command substitution, Solaris 10.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-120","dir":"Changelog","previous_headings":"","what":"odbc 1.2.0","title":"odbc 1.2.0","text":"CRAN release: 2019-11-28","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"features-1-2-0","dir":"Changelog","previous_headings":"","what":"Features","title":"odbc 1.2.0","text":"sqlCreateTable() dbWriteTable() now throw error mistakenly include field.types names exist input data. (#271) error message trying write tables unsupported types now includes column name (#238). dbConnect() now new param timezone_out useful user wants datetime values marked specific timezone instead UTC (@shrektan, #294). dbGetQuery(), dbSendQuery() dbSendStatement() gain immediate argument execute statement query immediately instead preparing, executing statement. (#272, @krlmlr) dbGetQuery(), dbSendQuery() dbSendStatement() gain params argument, allows used (indirectly) DBI::dbAppendTable() (#210, #215, #261). dbWriteTable() dbBind() methods gain batch_rows argument, control many rows bound batch. default can set globally options(odbc.batch_rows). useful database performs better larger smaller number rows per batch default 1024. (#297) New odbcConnectionColumns() function describe column types. data used binding columns, allows drivers support SQLDescribeParam() ODBC function, freeTDS work better bound columns. (#313, @detule) Added Teradata odbcDataType() support writing logical data Teradata servers (#240, @blarj09). Added Access odbcDataType() method support writing Access databases (#262, @vh-d) odbcListDrivers() gains keep filter argument global options odbc.drivers_keep, odbc.drivers_filter keep filter drivers returned. useful system administrators want reduce number drivers shown users. (@blairj09, #274) Subseconds now retained inserting POSIXct objects (#130, #208) RStudio Connections Pane now shows DSN, available (#304, @davidchall).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"bugfixes-1-2-0","dir":"Changelog","previous_headings":"","what":"Bugfixes","title":"odbc 1.2.0","text":"SQL Server ODBC’s now supports ‘-155’ data type, losing sub-second precision timestamps; still returns type DATETIMEOFFSET character, preserves sub-seconds numeric timezone offset (@r2evans, #207). dbExistsTable() now handles case-sensitivity consistently methods (@shrektan, #285). dbExistsTable() now works SQL Server specifying schemas catalogs using freeTDS Simba drivers. (#197) DBI::dbListFields() longer fails used qualified Id object (using schema table) (#226). dbWriteTable() now always writes NA_character NULL data.frame one row (@shrektan, #288). Fix issue date value fetched database may one day real value (@shrektan, #295).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-116","dir":"Changelog","previous_headings":"","what":"odbc 1.1.6","title":"odbc 1.1.6","text":"CRAN release: 2018-06-09","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"features-1-1-6","dir":"Changelog","previous_headings":"","what":"Features","title":"odbc 1.1.6","text":"dbConnect() gains timeout parameter, control long connection attempted timing (#139). Full schema support using Id objects available DBI 0.8 (#91, #120).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"bugfixes-1-1-6","dir":"Changelog","previous_headings":"","what":"Bugfixes","title":"odbc 1.1.6","text":"SQL inputs always converted database encoding querying (#179).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-115","dir":"Changelog","previous_headings":"","what":"odbc 1.1.5","title":"odbc 1.1.5","text":"CRAN release: 2018-01-23 Fix return value dbQuoteIdentifier() given length 0 input (#146 @edgararuiz).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-114","dir":"Changelog","previous_headings":"","what":"odbc 1.1.4","title":"odbc 1.1.4","text":"CRAN release: 2018-01-10","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"features-1-1-4","dir":"Changelog","previous_headings":"","what":"Features","title":"odbc 1.1.4","text":"Add custom sqlCreateTable dbListTables method Teradata connections (#121, @edgararuiz). Add dbms.name parameter dbConnect() allow user set database management system name cases queried Driver (#115, @hoxo-m).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"bugfixes-1-1-4","dir":"Changelog","previous_headings":"","what":"Bugfixes","title":"odbc 1.1.4","text":"Fix multiple transactions rollback (#136). Fix translation missing values integer types (#119). Update PIC flags avoid portability concerns.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-113","dir":"Changelog","previous_headings":"","what":"odbc 1.1.3","title":"odbc 1.1.3","text":"CRAN release: 2017-10-05 Small patch fix install errors CRAN’s MacOS machines.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-112","dir":"Changelog","previous_headings":"","what":"odbc 1.1.2","title":"odbc 1.1.2","text":"CRAN release: 2017-10-02 Add bigint parameter dbConnect() allow user set behavior converting 64 bit integers R types. Fixes compatibility RStudio Connections pane viewer. (@jmcphers). Define BUILD_REAL_64_BIT_MODE compatibility older systems sql.h, ensure always use 8 byte pointers. Added temporary-table support Oracle database using custom sqlCreateTable (#99, @edgararuiz). Fix regression binding due num_columns variable updated odbc_result::bind_list(). Support table creation Vertica Redshift (#93, @khotilov). Changed parameter fieldTypes field.types functions dbWriteTable() sqlCreateTable() compliant DBI (#106, @jschelbert). dbSendStatement longer executes statement, instead done dbBind() dbGetRowsAffected() called. change brings ODBC compliance DBI specification dbSendStatement() (#84, @ruiyiz).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-111","dir":"Changelog","previous_headings":"","what":"odbc 1.1.1","title":"odbc 1.1.1","text":"CRAN release: 2017-06-27 Workaround drivers implement SQLGetInfo, Access driver (#78). Fix installation error systems without GNU Make default make, Solaris.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-110","dir":"Changelog","previous_headings":"","what":"odbc 1.1.0","title":"odbc 1.1.0","text":"CRAN release: 2017-06-23 Provide fall backs drivers support SQLDescribeParam support transactions. sqlCreateTable() gains fieldTypes argument, allows one override column type given table, default type appropriate. Support databases non UTF-8 encodings. Use encoding parameter dbConnect() specify database encoding. Support SQL Connection Pane RStudio IDE. Unknown fields longer throw warning, instead signal custom condition, can caught desired withCallingHandlers(expr, odbc_unknown_field_type = function(e) {…} ) Conversion timezones handled cctz library. database non-UTC timezone can specified timezone parameter dbConnect(). Time objects converted hms objects. 64 bit integers converted bit64 objects. Support table creation Impala Hive Databases (#38, @edgararuiz).","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-101","dir":"Changelog","previous_headings":"","what":"odbc 1.0.1","title":"odbc 1.0.1","text":"CRAN release: 2017-02-07 force c++14 windows Turn database tests CRAN, think difficult debug even databases supported. Added NEWS.md file track changes package.","code":""},{"path":"https://r-dbi.github.io/odbc/dev/news/index.html","id":"odbc-100","dir":"Changelog","previous_headings":"","what":"odbc 1.0.0","title":"odbc 1.0.0","text":"CRAN release: 2017-02-05 Initial odbc release","code":""}] diff --git a/dev/sitemap.xml b/dev/sitemap.xml index 37ad6994..e3cae889 100644 --- a/dev/sitemap.xml +++ b/dev/sitemap.xml @@ -108,6 +108,9 @@ https://r-dbi.github.io/odbc/dev/reference/odbcListColumns.html + + https://r-dbi.github.io/odbc/dev/reference/odbcListConfig.html + https://r-dbi.github.io/odbc/dev/reference/odbcListDataSources.html