我尝试使用以下方法将Sql server数据库连接到R:
conn<-odbcConnect("dsnDb",uid="",pwd="")
它检索默认数据库'master'而不是我需要的数据库。如何手动获取特定数据库?
答案 0 :(得分:2)
所以,在RODBC包中没有办法做到这一点,但是这里有一个实现同样功能的功能:
假设您的DSN名为“MyODBClink”:
MakeChannel = function(dbName){
system(paste("REG ADD HKEY_CURRENT_USER\\Software\\ODBC\\ODBC.INI\\MyODBClink /f /v \"Database\" /t REG_SZ /d ", "\"", dbName ,"\"", sep=""),intern=T)
return(odbcConnect("MyODBClink"))
}
此功能的工作方式是编辑注册表的详细信息(我假设您在Windows上),使该特定DSN指向正确的数据库,然后返回到该DSN的开放连接。