50% off: Unlimited data and AI learning.
The Learning Leader's Guide to AI Literacy

RODBC (version 1.3-14)

sqlFetch: Reading Tables from ODBC Databases

Description

Read some or all of a table from an ODBC database into a data frame.

Usage

sqlFetch(channel, sqtable, ..., colnames = FALSE, rownames = TRUE)
sqlFetchMore(channel, ..., colnames = FALSE, rownames = TRUE)

Arguments

channel
connection handle returned by odbcConnect.
sqtable
a database table name accessible from the connected DSN. This should be either a literal character string or a character vector of length 1.
...
additional arguments to be passed to sqlQuery or sqlGetResults. See ‘Details’.
colnames
logical: retrieve column names from first row of table? (For use when sqlSave(colnames = TRUE) was used.)
rownames
either logical or character. If logical, retrieve row names from the first column (rownames) in the table? If character, the column name to retrieve them from.

Value

A data frame on success, or a character or numeric error code (see sqlQuery).

Details

Note the ‘table’ includes whatever table-like objects are provided by the DBMS, in particular views and system tables. sqlFetch by default retrieves the the entire contents of the table sqtable. Rownames and column names are restored as indicated (assuming that they have been placed in the table by the corresponding arguments to sqlSave).

Alternatively, sqlFetch can fetch the first max rows, in which case sqlFetchMore will retrieve further result rows, provided there has been no other ODBC query on that channel in the meantime.

These functions try to cope with the peculiar way the Excel ODBC driver handles table names, and to quote Access table names which contain spaces. Dotted table names, e.g. myschema.mytable, are allowed on systems that support them, unless the connection was opened with interpretDot = FALSE.

Useful additional parameters to pass to sqlQuery or sqlGetResults include

See Also

sqlSave, sqlQuery, odbcConnect, odbcGetInfo

Examples

Run this code
## Not run: 
# channel <- odbcConnect("test")
# sqlSave(channel, USArrests)
# sqlFetch(channel, "USArrests") # get the lot
# sqlFetch(channel, "USArrests", max = 20, rows_at_time = 10)
# sqlFetchMore(channel, max = 20)
# sqlFetchMore(channel) # get the rest
# sqlDrop(channel, "USArrests") 
# close(channel)
# ## End(Not run)

Run the code above in your browser using DataLab