рдЪреВрдВрдХрд┐ рд╢реЗрд░ рдХреА рд╡реНрдпрд╛рдкрд╛рд░рд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рдЖрдк рдЬреЛ рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЙрд╕рдореЗрдВ рдЖрдкрдХреЛ рдЙрдирдХреЗ рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ R рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрджрд╛рд╣рд░рдг Microsoft SQL рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рднреА рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдЕрдиреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ, рдЬреИрд╕реЗ: MySQL, PostgreSQL, SQLite, ClickHouse , Google BigQuery, рдЖрджрд┐ред

рд╕рд╛рдордЧреНрд░реА
рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдбреАрдмреАрдПрдордПрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдиреАрдЪреЗ рд╕реВрдЪреАрдмрджреНрдз рдирд┐рдореНрди рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
- рднрд╛рд╖рд╛ рдЖрд░ ;
- RStudio рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг;
- рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА, рд╕реЗ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП:
3.1ред Microsoft SQL рд╕рд░реНрд╡рд░
3.2ред MySQL
3.3ред PostgreSQL
рдбреАрдмреАрдЖрдИ рдкреИрдХреЗрдЬ
R рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DBI
рдкреИрдХреЗрдЬ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ рд╣реИред
DBI
рдЖрдкрдХреЛ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ (рдбреАрдмреАрдПрдордПрд╕) рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░ рд╣реИрдВред
рдбреАрдмреАрдЖрдИ рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реВрдЪреА
dbConnect
- рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрд╢рди;dbWriteTable
- рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд▓рд┐рдЦреЗрдВ;dbReadTable
- рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд▓реЛрдб рдХрд░рдирд╛;dbGetQuery
- рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд▓реЛрдб рдХрд░рдирд╛;dbSendQuery
- рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдПрдХ рдХреНрд╡реЗрд░реА рднреЗрдЬрдирд╛;dbFetch
- рдПрдХ рдкрд░рд┐рдгрд╛рдо рд╕реЗрдЯ рд╕реЗ рддрддреНрд╡ рдирд┐рдХрд╛рд▓реЗрдВ;dbExecute
- рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдЕрджреНрдпрддрди / рд╣рдЯрд╛рдиреЗ / рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди;dbGetInfo
- рдЕрдиреБрд░реЛрдз рдпрд╛ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ;dbListFields
- рддрд╛рд▓рд┐рдХрд╛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз;dbListTables
- рдбреЗрдЯрд╛рдмреЗрд╕ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдХреНрд╡реЗрд░реА;dbExistsTable
- рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рдЯреЗрдмрд▓ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░реЗрдВ;dbRemoveTable
- рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╣рдЯрд╛рдПрдВ;dbDisconnect
- рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред
рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА
рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЙрдирд╕реЗ рдЬреБрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ DBMS рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЖрдкрдХреЛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрдХреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдиреАрдЪреЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреА рд╕реВрдЪреА рд╣реИред
odbc
- ODBC рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░;RSQLite
- SQLite рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░;RMySQL
/ RMariaDB
- MySQL рдФрд░ MariaDB рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░;RPostgreSQL
- RPostgreSQL
рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░;bigrquery
- Google BigQuery рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░;RClickhouse
/ clickhouse
- ClickHouse рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░;RMSSQL
- рд▓реЗрдЦрди рдХреЗ рд╕рдордп Microsoft SQL рд╕рд░реНрд╡рд░ (MS SQL) рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░ , рдХреЗрд╡рд▓ GitHub рдкрд░ рдореМрдЬреВрдж рд╣реЛрддрд╛ рд╣реИ ред
DBI
рдкреИрдХреЗрдЬ рдореВрд▓ R рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛рдмреЗрд╕ рдбреНрд░рд╛рдпрд╡рд░ рдХреЗ рдкреИрдХреЗрдЬ рдХреЛ install.packages(" ")
рдХрдорд╛рдВрдб install.packages(" ")
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
GitHub рд╕реЗ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрдХреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА - devtools
ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, RMSSQL
рдкреИрдХреЗрдЬ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореБрдЦреНрдп рдЖрд░ рдкреИрдХреЗрдЬ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
install.packages("devtools") devtools::install_github("bescoto/RMSSQL")
Odbc рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Microsoft SQL рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг
рдЖрд░ рд╕рддреНрд░ рдореЗрдВ рдХрд┐рд╕реА рднреА рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕реЗ рдкрд╣рд▓реЗ library(" ")
рдлрд╝рдВрдХреНрд╢рди library(" ")
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рдмрд┐рдирд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдерд╛ рдХрд┐ рдореИрдВрдиреЗ Microsoft SQL Server рдХреЛ рдореБрдЦреНрдп DBMS рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛, рдЬреЛ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдХрд╛рдлреА рд▓реЛрдХрдкреНрд░рд┐рдп рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА рдЗрд╕рдореЗрдВ рдЕрднреА рднреА CRAN рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд R рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░ рдирд╣реАрдВ рд╣реИред
рд▓реЗрдХрд┐рди рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, SQL рд╕рд░реНрд╡рд░, рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рддрд░рд╣, рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ODBC (рдЕрдВрдЧреНрд░реЗрдЬрд╝реА рдУрдкрди рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА) рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИред R рдореЗрдВ ODBC рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ DBMS рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдкреИрдХреЗрдЬ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо odbc
рдкреИрдХреЗрдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдкрд░ рдЧреМрд░ рдХрд░реЗрдВрдЧреЗред
Odbc рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрд╕рд╛рди рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди # odbc install.packages("odbc") # library(odbc) # MS SQL con <- dbConnect(drv = odbc(), Driver = "SQL Server", Server = "localhost", Database = "mybase", UID = "my_username", PWD = "my_password", Port = 1433)
dbConnect()
рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, рдЖрдкрдХреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ DBMS ( odbc()
) рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП odbc()
рд▓рд┐рдП рдкрд╣рд▓рд╛ рддрд░реНрдХ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЖрдорддреМрд░ рдкрд░ рдбреАрдмреАрдПрдордПрд╕ рдХреЗ рд╕рдорд╛рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВ рдЬреЛ DBI
рдбреНрд░рд╛рдЗрд╡рд░ рд╣реИрдВред
рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдХрдиреЗрдХреНрд╢рди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред ODBC рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ MS SQL рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ:
- рдЪрд╛рд▓рдХ - рдУрдбреАрдмреАрд╕реА рдЪрд╛рд▓рдХ рдХрд╛ рдирд╛рдо;
- рд╕рд░реНрд╡рд░ - SQL рд╕рд░реНрд╡рд░ рдХрд╛ рдЖрдИрдкреА рдкрддрд╛;
- рдбреЗрдЯрд╛рдмреЗрд╕ - рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдирд╛рдо;
- рдпреВрдЖрдИрдбреА - рдбреЗрдЯрд╛рдмреЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо;
- рдкреАрдбрдмреНрд▓реНрдпреВрдбреА - рдкрд╛рд╕рд╡рд░реНрдб;
- рдкреЛрд░реНрдЯ - рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреЛрд░реНрдЯ 1433 рд╣реИред
Microsoft SQL рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ ODBC рдбреНрд░рд╛рдЗрд╡рд░ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд╕рд╛рде рд╢рд╛рдорд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдПрдХ рдЕрд▓рдЧ рдирд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк ODBC рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреА рд╕реВрдЪреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдирд┐рдореНрди рддрд░реАрдХреЗ рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ 10 рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- 32-рдмрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдг:
%systemdrive%\Windows\SysWoW64\Odbcad32.exe
- 64-рдмрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдг:
%systemdrive%\Windows\System32\Odbcad32.exe

рдЖрдк odbcListDrivers()
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдкреАрд╕реА рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рд╕рднреА рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
name attribute value <chr> <chr> <chr> 1 SQL Server APILevel 2 2 SQL Server ConnectFunctions YYY 3 SQL Server CPTimeout 60 4 SQL Server DriverODBCVer 03.50 5 SQL Server FileUsage 0 6 SQL Server SQLLevel 1 7 SQL Server UsageCount 1 8 MySQL ODBC 5.3 ANSI Driver UsageCount 1 9 MySQL ODBC 5.3 Unicode Driver UsageCount 1 10 Simba ODBC Driver for Google BigQuery Description Simba ODBC Driver for Google BigQuery2.0 # ... with 50 more rows
рдЖрдк рдирд┐рдореНрди рд▓рд┐рдВрдХ рдкрд░ рдЕрдиреНрдп DBMS рдХреЗ рд▓рд┐рдП ODBC рдбреНрд░рд╛рдЗрд╡рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рд╡рд┐рднрд┐рдиреНрди DBMS рдХреЗ рд▓рд┐рдП, рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдирд╛рдо рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
- PostgreSQL / MySQL / MariaDB - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдкрд╛рд╕рд╡рд░реНрдб, рд╣реЛрд╕реНрдЯ, рдкреЛрд░реНрдЯ, dbname;
- GoogleBigQuery - рдкрд░рд┐рдпреЛрдЬрдирд╛, рдбреЗрдЯрд╛рд╕реЗрдЯ;
- ClickHouse - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдкрд╛рд╕рд╡рд░реНрдб, рдбреАрдмреА, рдкреЛрд░реНрдЯ, рд╣реЛрд╕реНрдЯ;
ODBC рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк ODBC рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЦреЛрд▓реЗрдВ, "рдХрд╕реНрдЯрдо DSN" рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ рдФрд░ "рдЬреЛрдбрд╝реЗрдВ ..." рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред

рдХрд┐рд╕реА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдмрдирд╛рддреЗ рд╕рдордп, рдЖрдк рдЗрд╕реЗ рдПрдХ рдирд╛рдо рджреЗрддреЗ рд╣реИрдВ, DSN (рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдирд╛рдо)ред

рдКрдкрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдордиреЗ DSN "my_test_source" рдХреЗ рд╕рд╛рде рдПрдХ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдмрдирд╛рдпрд╛ред рдЕрдм рд╣рдо Microsoft SQL рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕реНрд░реЛрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдХреЛрдб рдореЗрдВ рдЕрдиреНрдп рдХрдиреЗрдХреНрд╢рди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдбреАрдПрд╕рдПрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдУрдбрдмрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬреБрдбрд╝рдирд╛ # DSN con <- dbConnect(odbc(), DSN = "my_test_source", UID = "my_username", PWD = "my_password")
рдЖрдк odbcListDataSources()
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдкреАрд╕реА рдкрд░ рдмрдирд╛рдП рдЧрдП рд╕рднреА ODBC рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рдирд╛рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
name description <chr> <chr> 1 BQ Simba ODBC Driver for Google BigQuery 2 BQ_main Simba ODBC Driver for Google BigQuery 3 BQ ODBC Simba ODBC Driver for Google BigQuery 4 OLX Simba ODBC Driver for Google BigQuery 5 Multicharts Simba ODBC Driver for Google BigQuery 6 PostgreSQL35W PostgreSQL Unicode(x64) 7 hillel_bq Simba ODBC Driver for Google BigQuery 8 blog_bq Simba ODBC Driver for Google BigQuery 9 MyClientMSSQL SQL Server 10 local_mssql SQL Server 11 MSSQL_localhost SQL Server 12 my_test_source SQL Server 13 Google BigQuery Simba ODBC Driver for Google BigQuery
RMSSQL рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Microsoft SQL рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг
RMSSQL
рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЗрд╕реЗ devtools
рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ devtools
рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
install.packages("devtools") devtools::install_github("bescoto/RMSSQL")
DBI RMSSQL рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдХрдиреЗрдХреНрд╢рди рдЙрджрд╛рд╣рд░рдг # library(RJDBC) library(RMSSQL) library(DBI) # RMSSQL con <- dbConnect(MSSQLServer(), host = 'localhost', user = 'my_username', password = 'my_password', dbname = "mybase")
рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DBI
рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВрдЧреЗред рдпрд╛рдиреА dbConnect
рддрд░реНрдХ рдХреЗ рдореВрд▓реНрдп рдХреЗ рд░реВрдк рдореЗрдВ dbConnect
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдбреНрд░рд╛рдЗрд╡рд░ рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ DBMS рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред
MySQL, PostgreSQL, SQLite рдФрд░ BigQuery рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг # MySQL library(RMySQL) con <- dbConnect(MySQL(), host = 'localhost', user = 'my_username', password = 'my_password', dbname = "mybase", host = "localhost") # PostrgeSQL library(RPostgreSQL) con <- dbConnect(PostgreSQL(), host = 'localhost', user = 'my_username', password = 'my_password', dbname = "mybase", host = "localhost") # PostrgeSQL library(RPostgreSQL) con <- dbConnect(PostgreSQL(), host = 'localhost', user = 'my_username', password = 'my_password', dbname = "mybase", host = "localhost") # SQLite library(RSQLite) # connection or create base con <- dbConnect(drv = SQLite(), "localhost.db") # Google BigQuery library(bigrquery) con <- dbConnect(drv = bigquery(), project = "my_proj_id", dataset = "dataset_name")
рдЖрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд╛рд╕рд╡рд░реНрдб рдХреИрд╕реЗ рдЫрд┐рдкрд╛рдПрдВ
рдКрдкрд░, рдореИрдВрдиреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рджрд┐рдП рдЬреЛ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рдПрдХ рдЦрд╛рдореА рд╣реИ, рдЗрд╕ рд░реВрдк рдореЗрдВ рд╕рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдХреНрд╕реЗрд╕, рдЬрд┐рд╕рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рд╕реНрд╡рдпрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрд╛рда рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдпрджрд┐ рдЖрдкрдХреА рд╕рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рддреИрдирд╛рдд рд╣реИрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдкреАрд╕реА рдкрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЪрд▓рддреА рд╣реИрдВ, рдФрд░ рдпрд╣ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдПрдХ рд╣реА рд╕рд░реНрд╡рд░ рдкрд░ рдХрд┐рд╕реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкрд╛рда рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред
рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рдВрдбреЛрдЬ рдкрд░, рдпрд╣ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдореИрдиреЗрдЬрд░ рд╣реИред рдЖрдк рдЗрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ keyring
рдкреИрдХреЗрдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдкреИрдХреЗрдЬ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИ рдФрд░ рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдХрд┐рд╕реА рднреА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдХрдо рд╕реЗ рдХрдо рд╡рд┐рдВрдбреЛрдЬ, рдореИрдХрдУрдПрд╕ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдкрд░ред
# install.packages("keyring") # library(keyring) library(RMSSQL) # key_set_with_value(service = "mssql", username = "my_username", password = "my_password") # RMSSQL con <- dbConnect(MSSQLServer(), host = 'localhost', user = 'my_username', password = key_get("mssql", "my_username"), dbname = "mybase")
рдпрд╛рдиреА key_set_with_value()
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рд╕рдВрдЧреНрд░рд╣рдг рдореЗрдВ рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдФрд░ key_get()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ key_get()
рдЗрд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛ рдЗрд╕реЗ рд╕реНрдЯреЛрд░ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ рд╡рд╣ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддрд╛ рд╣реИред keyring
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП keyring
рдЖрдк рди рдХреЗрд╡рд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ, рдмрд▓реНрдХрд┐ рдХрд┐рд╕реА рднреА рд╕реЗрд╡рд╛рдУрдВ рд╕реЗ рднреА рдкрд╛рд╕рд╡рд░реНрдб рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЯреЛрдХрди рднреАред
рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдЯреЗрдмрд▓ рдФрд░ рд▓реЗрдЦрди рдмрдирд╛рдирд╛
рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд▓реЗрдЦрди dbWriteTable()
рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
dbWriteTable()
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рддрд░реНрдХ:
рдЖрд╡рд╢реНрдпрдХ рддрд░реНрдХ рдмреЛрд▓реНрдб рдореЗрдВ рд╣реИрдВ, рдЗрдЯреИрд▓рд┐рдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдВ
dbConnect
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ DBMS рдХрдиреЗрдХреНрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛;- рдирд╛рдо - DBMS рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛;
- рдореВрд▓реНрдп - R рдореЗрдВ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ (data.frame / data.table / tibble_frame рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ), рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдбреЗрдЯрд╛ DBMS рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛;
- row.names - рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкрдВрдХреНрддрд┐ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ row_names рдХреЙрд▓рдо рдЬреЛрдбрд╝рддрд╛ рд╣реИ, FALSE рдХреЛ рдЪреВрдХрддрд╛ рд╣реИред
- рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░реЗрдВ - рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░реЗрдВ рдпрджрд┐ рдирд╛рдо рддрд░реНрдХ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╛рдо рдХреЗ рд╕рд╛рде рддрд╛рд▓рд┐рдХрд╛ DBMS рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди FALSE рд╣реИ ;
- рдПрдкреЗрдВрдб - рдбреЗрдЯрд╛ рдХреЛ рдЕрдкреЗрдВрдб рдХрд░реЗрдВ рдпрджрд┐ рдирд╛рдо рддрд░реНрдХ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбреАрдмреАрдПрдордПрд╕ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди FALSE рд╣реИ ;
- field.types - рдПрдХ рдирд╛рдорд┐рдд рд╡реЗрдХреНрдЯрд░ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ DBMS рдХреЛ рд▓рд┐рдЦрддреЗ рд╕рдордп рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, NULL рдХреЛ рдЪреВрдХрддрд╛ рд╣реИ ;
- рдЕрд╕реНрдерд╛рдпреА - рдЖрдкрдХреЛ рдбреАрдмреАрдПрдордПрд╕ рдореЗрдВ рдЕрд╕реНрдерд╛рдпреА рдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рддрдм рддрдХ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рдХрд╛рдЯ рди рджрд┐рдпрд╛ рдЬрд╛рдП, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди FALSE рд╣реИ ред
DBI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ DBMS рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг # library(odbc) # DSN con <- dbConnect(odbc(), DSN = "my_test_source", UID = "my_username", PWD = "my_password") # iris, R iris dbWriteTable(conn = con, name = "iris", value = iris) # dbDisconnect(con)
рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, dbListTables()
рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП dbListTables()
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдЯреЗрдмрд▓ рдХреА рд╕реВрдЪреА рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдФрд░ рдбреАрдмреАрдПрдордПрд╕ рд╕реЗ рддрд╛рд▓рд┐рдХрд╛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг # library(odbc) # con <- dbConnect(odbc(), DSN = "my_test_source", UID = "my_username", PWD = "my_password") # dbListTables(con) # iris dbRemoveTable(con, "iris") # dbDisconnect(con)
рдПрдХ DBMS рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝рдирд╛
DBI
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ DBI
рдЖрдк рдпрд╛ рддреЛ рд╕рдВрдкреВрд░реНрдг рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдпрд╛ рдЕрдкрдиреА SQL рдХреНрд╡реЗрд░реА рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред dbReadTable()
рдФрд░ dbGetQuery()
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрди рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ DBMS рд╕реЗ рдПрдХ рдЖрдИрд░рд┐рд╕ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг # library(odbc) # con <- dbConnect(odbc(), DSN = "my_test_source", UID = "my_username", PWD = "my_password") # iris iris dbiris <- dbReadTable(con, "iris") # dbDisconnect(con)
рдПрдХ DBMS рд╕реЗ SQL рдирд┐рд╖реНрдкрд╛рджрди рдкрд░рд┐рдгрд╛рдо рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг # library(odbc) # con <- dbConnect(odbc(), DSN = "my_test_source", UID = "my_username", PWD = "my_password") # setosa <- dbGetQuery(con, "SELECT * FROM iris WHERE Species = 'setosa'") # dbDisconnect(con)
DBMS (DML) рдореЗрдВ рдбреЗрдЯрд╛ рд╣реЗрд░рдлреЗрд░
рдКрдкрд░ dbGetQuery()
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рдирдореВрдиреЛрдВ (рдЪрдпрди) рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдбреЗрдЯрд╛ рд╣реЗрд░рдлреЗрд░ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ рдХрд┐ UPDATE, INSERT, DELETE, dbExecute()
рдлрд╝рдВрдХреНрд╢рди DBI
рдореЗрдВ рдореМрдЬреВрдж рд╣реИред
рдПрдХ DBMS рдореЗрдВ рдбреЗрдЯрд╛ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХреЗ рд▓рд┐рдП рдирдореВрдирд╛ рдХреЛрдб # library(odbc) # con <- dbConnect(odbc(), DSN = "my_test_source", UID = "my_username", PWD = "my_password") # (INSERT) dbExecute(con, "INSERT INTO iris (row_names, [Sepal.Length], [Sepal.Width], [Petal.Length], [Petal.Width], [Species]) VALUES (51, 5.0, 3.3, 1.7, 0.3, 'new_values')") # (UPDATE) dbExecute(con, "UPDATE iris SET [Species] = 'old_value' WHERE row_names = 51") # (DELETE) dbExecute(con, "DELETE FROM iris WHERE row_names = 51") # dbDisconnect(con)
DBMS рдореЗрдВ рд▓реЗрдирджреЗрди
рд▓реЗрди-рджреЗрди рдПрдХ рдЕрдиреБрдХреНрд░рдорд┐рдХ рд░реАрдб рдПрдВрдб рд░рд╛рдЗрдЯ рдСрдкрд░реЗрд╢рди рд╣реИред рд▓реЗрди-рджреЗрди рдХрд╛ рдЕрдВрдд рдкрд░рд┐рд╡рд░реНрддрди (рдХрдорд┐рдЯ, рдХрдорд┐рдЯрдореЗрдВрдЯ) рдпрд╛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд░рджреНрдж рдХрд░рдиреЗ (рд░реЛрд▓рдмреИрдХ, рд░реЛрд▓рдмреИрдХ) рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рд▓реЗрди-рджреЗрди рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдПрдХрд▓ рдХреНрд╡реЗрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рд▓реЗрдЦ рд╕реЗ рдЙрджреНрдзрд░рдг "рд▓реЗрдирджреЗрди рдФрд░ рдЙрдирдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рддрдВрддреНрд░"
рдПрдХ рд▓реЗрди-рджреЗрди рдПрдХ рдкреНрд░рд╛рдердорд┐рдХ рдЗрдХрд╛рдИ рдореЗрдВ рдХрдИ SQL рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рддрд╛ рд╣реИред dbBegin()
рд▓реЗрдирджреЗрди рдХреА рд╢реБрд░реБрдЖрдд dbBegin()
рд╕рд╛рде рд╢реБрд░реВ рдХреА dbBegin()
рдФрд░ рдлрд┐рд░ dbCommit()
рд╕рд╛рде рдкреБрд╖реНрдЯрд┐ рдХреА dbCommit()
рдпрд╛ dbRollback()
рд╕рд╛рде рд░рджреНрдж рдХрд░ рджреА dbRollback()
ред рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, DBMS рдЗрд╕ рдмрд╛рдд рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИ: рдпрд╛ рддреЛ рд╕рднреА рдпрд╛ рдХрд┐рд╕реА рднреА рдХрдерди рдХреЛ рдбреЗрдЯрд╛ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реЗрди-рджреЗрди рдХреЗ рджреМрд░рд╛рди, рдЖрдЗрд░рд┐рд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ 51 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдлрд┐рд░ Sepal.Width рдорд╛рди рдХреЛ 5 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдмрджрд▓ рджреЗрдВ рдФрд░ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ 43 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВред
рд▓реЗрди-рджреЗрди рдХреЛрдб рдЙрджрд╛рд╣рд░рдг # library(odbc) # con <- dbConnect(odbc(), DSN = "my_test_source", UID = "my_username", PWD = "my_password") # dbGetQuery(con, "SELECT * FROM iris WHERE row_names IN (5, 43, 51)") # row_names Sepal.Length Sepal.Width Petal.Length Petal.Width Species # 1 5 5.0 3.6 1.4 0.2 setosa # 2 43 4.4 3.2 1.3 0.2 setosa # 3 51 7.0 3.2 4.7 1.4 versicolor # dbBegin(con) # dbExecute(con, "INSERT INTO iris (row_names, [Sepal.Length], [Sepal.Width], [Petal.Length], [Petal.Width], [Species]) VALUES (51, 5.0, 3.3, 1.7, 0.3, 'new_values')") # dbExecute(con, "UPDATE iris SET [Sepal.Width] = 8 WHERE row_names = 5") # 43 dbExecute(con, "DELETE FROM iris WHERE row_names = 43") # dbCommit(con) # dbGetQuery(con, "SELECT * FROM iris WHERE row_names IN (5, 43, 51)") # row_names Sepal.Length Sepal.Width Petal.Length Petal.Width Species # 1 5 5 8.0 1.4 0.2 setosa # 2 51 7 3.2 4.7 1.4 versicolor # 3 51 5 3.3 1.7 0.3 new_values
рд▓реЗрди-рджреЗрди рд░рджреНрдж рдХрд░рдиреЗ рдХрд╛ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг # library(odbc) # con <- dbConnect(odbc(), DSN = "my_test_source", UID = "my_username", PWD = "my_password") # dbGetQuery(con, "SELECT * FROM iris WHERE row_names IN (5, 43, 51)") # row_names Sepal.Length Sepal.Width Petal.Length Petal.Width Species # 1 5 5.0 3.6 1.4 0.2 setosa # 2 43 4.4 3.2 1.3 0.2 setosa # 3 51 7.0 3.2 4.7 1.4 versicolor # dbBegin(con) # dbExecute(con, "INSERT INTO iris (row_names, [Sepal.Length], [Sepal.Width], [Petal.Length], [Petal.Width], [Species]) VALUES (51, 5.0, 3.3, 1.7, 0.3, 'new_values')") # dbExecute(con, "UPDATE iris SET [Sepal.Width] = 8 WHERE row_names = 5") # 43 dbExecute(con, "DELETE FROM iris WHERE row_names = 43") # dbRollback(con) # dbGetQuery(con, "SELECT * FROM iris WHERE row_names IN (5, 43, 51)") # row_names Sepal.Length Sepal.Width Petal.Length Petal.Width Species # 1 5 5.0 3.6 1.4 0.2 setosa # 2 43 4.4 3.2 1.3 0.2 setosa # 3 51 7.0 3.2 4.7 1.4 versicolor
RODBC рдкреИрдХреЗрдЬ
RODBC
рдкреИрдХреЗрдЬ ODBC рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ DBMS рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рдиреЗ рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
RODBC
DBI
рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИ, рдЕрд░реНрдерд╛рдд рдЖрдк DBI
рдкреИрдХреЗрдЬ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ RODBC
рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рдХрдиреЗрдХреНрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
RODBC рдкреИрдХреЗрдЬ рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ
odbcConnect
- DSN рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ DBMS рд╕реЗ рдХрдиреЗрдХреНрд╢рди;odbcDriverConnect
- рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрд╢рди;sqlQuery
- DBMS рдХреЛ рдПрдХ рдХреНрд╡реЗрд░реА рднреЗрдЬ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реИред рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ: рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЕрджреНрдпрддрди, INSERT, DELETEредsqlFetch
- DBMS рд╕реЗ рдкреВрд░реА рддрд╛рд▓рд┐рдХрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ;sqlTables
- рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВредsqlSave
- рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рдирдИ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдВ, рдпрд╛ рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдирдпрд╛ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝реЗрдВ;sqlUpdate
- DBMS рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛;sqlDrop
- рдПрдХ DBMS рдореЗрдВ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╣рдЯрд╛рдПрдВ;odbcClose
- рдХрд┐рд╕реА DBMS рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВред
RODBC рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг
рдореЗрд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, RODBC
DBI
рддреБрд▓рдирд╛ RODBC
рдХрдо рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ DBMS рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдп рд╣реИрдВред
RODBC рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ DBMS рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг # library(RODBC) # con_string <- odbcDriverConnect(connection = "Driver=SQL Server;Server=localhost;Database=mybase;UID=my_username;PWD=my_password;Port=1433") # DSN con_dsn <- odbcConnect(dsn = "my_test_source", uid = "my_username", pwd = "my_password") # sqlSave(con_dsn, dat = iris, tablename = "iris") # iris sqlSave(con_dsn, dat = iris, tablename = "iris", append = TRUE) # 4 sqlFetch(con_dsn, "iris", rownames = FALSE, max = 4) # R iris[1, 5] <- "virginica" # sqlUpdate(con_dsn, dat = iris, tablename = "iris") # 4 sqlFetch(con_dsn, "iris", rownames = FALSE, max = 4) # sqlDrop(con_dsn, sqtable = "iris") # odbcCloseAll()
рд▓реЗрди-рджреЗрди рд╕рдВрдмрдВрдзреА
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, RODBC
рдореЗрдВ рд▓реЗрдирджреЗрди рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдирджреЗрди рдкреНрд░рдмрдВрдзрди рджреЛ рдХрд╛рд░реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
odbcSetAutoCommit
- рд╕рд╛рдорд╛рдиреНрдп рдФрд░ рд▓реЗрди-рджреЗрди DBMS рдСрдкрд░реЗрд╢рди рдореЛрдб рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ;odbcEndTran
- рд▓реЗрдирджреЗрди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдпрд╛ рд░рджреНрдж рдХрд░реЗрдВред
рд▓реЗрди-рджреЗрди рдореЛрдб рдХреЛ рдЪрд╛рд▓реВ рдФрд░ рдмрдВрдж рдХрд░рдирд╛ AutoCommit рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП odbcSetAutoCommit
рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
RODBC рдореЗрдВ рд▓реЗрдирджреЗрди рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг # library(RODBC) # DSN con_dsn <- odbcConnect(dsn = "my_test_source", uid = "my_username", pwd = "my_password") # sqlSave(con_dsn, dat = iris, tablename = "iris") # odbcSetAutoCommit(con_dsn, autoCommit = FALSE) # 4 sqlFetch(con_dsn, "iris", rownames = FALSE, max = 4) # rownames SepalLength SepalWidth PetalLength PetalWidth Species # 1 1 5.1 3.5 1.4 0.2 setosa # 2 2 4.9 3.0 1.4 0.2 setosa # 3 3 4.7 3.2 1.3 0.2 setosa # 4 4 4.6 3.1 1.5 0.2 setosa # R iris[1, 5] <- "virginica" # sqlUpdate(con_dsn, dat = iris, tablename = "iris") # 4 sqlFetch(con_dsn, "iris", rownames = FALSE, max = 4) # rownames SepalLength SepalWidth PetalLength PetalWidth Species # 1 1 5.1 3.5 1.4 0.2 virginica # 2 2 4.9 3.0 1.4 0.2 setosa # 3 3 4.7 3.2 1.3 0.2 setosa # 4 4 4.6 3.1 1.5 0.2 setosa # odbcEndTran(con_dsn, commit = FALSE) # 4 sqlFetch(con_dsn, "iris", rownames = FALSE, max = 4) # rownames SepalLength SepalWidth PetalLength PetalWidth Species # 1 1 5.1 3.5 1.4 0.2 setosa # 2 2 4.9 3.0 1.4 0.2 setosa # 3 3 4.7 3.2 1.3 0.2 setosa # 4 4 4.6 3.1 1.5 0.2 setosa # sqlUpdate(con_dsn, dat = iris, tablename = "iris") # odbcEndTran(con_dsn, commit = TRUE) # 4 sqlFetch(con_dsn, "iris", rownames = FALSE, max = 4) # rownames SepalLength SepalWidth PetalLength PetalWidth Species # 1 1 5.1 3.5 1.4 0.2 virginica # 2 2 4.9 3.0 1.4 0.2 setosa # 3 3 4.7 3.2 1.3 0.2 setosa # 4 4 4.6 3.1 1.5 0.2 setosa # odbcClose(con_dsn)
рдирд┐рд╖реНрдХрд░реНрд╖
рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд R, DBI
рдФрд░ RODBC
рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рдХрд╛рдлреА рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╣реИрдВ рдФрд░ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА DBMS рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред
рд╡рд┐рднрд┐рдиреНрди DBMS рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рдЕрдВрддрд░ рдХрдиреЗрдХреНрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдХрдкреНрд░рд┐рдп рдбреАрдмреАрдПрдордПрд╕ рдХреЗ рд▓рд┐рдП, рдЕрд▓рдЧ рдкреИрдХреЗрдЬ рд╣реИрдВ рдЬреЛ рдбреНрд░рд╛рдЗрд╡рд░ рд╣реИрдВред рдмрд╛рдХреА DBMS рдХреЗ рд▓рд┐рдП, рдУрдбреАрдмреАрд╕реА рдпрд╛ RODBC
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ ODBC рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ RODBC
ред рдЕрдиреНрдп рд╕рднреА рдЬреЛрдбрд╝рддреЛрдбрд╝, рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреЗ рдЧрдП DBMS рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛, рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣реЗрдВрдЧреЗред рдПрдХ рдЕрдкрд╡рд╛рдж SQL рдХреНрд╡реЗрд░реА рднреЗрдЬ рд░рд╣рд╛ рд╣реИ, рдЙрд╕ DBMS рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд SQL рдмреЛрд▓реА рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред