4 ответов:
library(RODBC) dbhandle <- odbcDriverConnect('driver={SQL Server};server=mysqlhost;database=mydbname;trusted_connection=true') res <- sqlQuery(dbhandle, 'select * from information_schema.tables')
принято от сообщение в r-help:
library(RODBC) channel <- odbcDriverConnect("driver=SQL Server;server=01wh155073") initdata<- sqlQuery(channel,paste("select * from test_DB .. test_vikrant")) dim(initdata) odbcClose(channel)
попробуйте использовать пакет RSQLS:https://github.com/martinkabe/RSQLS
очень быстро выталкивает данные из данных.кадр в SQL Server или вытягивает из SQL Server в data.рамка.
пример:
library(devtools) install_github("martinkabe/RSQLS") library(RSQLS) cs <- set_connString("LAPTOP-USER\SQLEXPRESS", "Database_Name") push_data(cs, dataFrame, "dbo.TableName", append = TRUE, showprogress = TRUE) df <- pull_data(cs, "SELECT * FROM dbo.TableName", showprogress = TRUE)Это решение намного быстрее и надежнее, чем RODBC:: sqlSave или DBI:: dbWriteTable.
сначала вы должны создать / настроить DSN (соединение ODBC с конкретной БД)
установить
RODBCбиблиотека.library(RODBC) myconn <-odbcConnect("MyDSN", uid="***", pwd="*******") fetchData<- sqlQuery(myconn, "select * from tableName") View(fetchData) close(myconn)
Comments