sqlFetch                package:RODBC                R Documentation

_R_e_a_d_i_n_g _T_a_b_l_e_s _f_r_o_m _O_D_B_C _D_a_t_a_b_a_s_e_s

_D_e_s_c_r_i_p_t_i_o_n:

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

_U_s_a_g_e:

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

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

_A_r_g_u_m_e_n_t_s:

 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.

_D_e_t_a_i_l_s:

     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

     '_m_a_x': limit on the number of rows to fetch, with '0' (the
          default) indicating no limit.

     '_n_u_l_l_s_t_r_i_n_g': character string to be used when reading
          'SQL_NULL_DATA' character items from the database: default
          'NA_character_'.

     '_n_a._s_t_r_i_n_g_s': character string(s) to be mapped to 'NA' when
          reading character data: default '"NA"'.

     '_a_s._i_s': as in 'sqlGetResults'.

     '_d_e_c': The character for the decimal place to be assumed when
          converting character columns to numeric.

     '_r_o_w_s__a_t__t_i_m_e': Allow for multiple rows to be retrieved at once. 
          See 'sqlQuery'.

_V_a_l_u_e:

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

_N_o_t_e:

     If the table name desired is not a valid SQL name (alphanumeric
     plus '_') and these functions are not able to interpret the name,
     you can use 'sqlQuery' with whatever quoting mechanism your DBMS
     vendor provides (e.g. '[ ]' on some Microsoft products and
     backticks on MySQL).

_A_u_t_h_o_r(_s):

     Michael Lapsley and Brian Ripley

_S_e_e _A_l_s_o:

     'sqlSave', 'sqlQuery', 'odbcConnect', 'odbcGetInfo'

_E_x_a_m_p_l_e_s:

     ## 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)

