首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用RODBC连接到mssql服务器?

问如何使用RODBC连接到mssql服务器?
EN

Stack Overflow用户
提问于 2014-04-13 17:15:50
回答 2查看 539关注 0票数 0

我有一个Oracle db,我使用RODBC连接连接到oracle,如下所示:

代码语言:javascript
复制
library(RODBC)
new_sql<-c("select * from table")
tryCatch({
            ch=odbcConnect("odbc_con",pwd = "!passwd!")
            res<-sqlQuery(ch,new_sql)
            },error = function(e) {
            print(odbcGetErrMsg(ch))          
        })

数据库镜像到mssql,我使用管理员工具创建了一个新的到mssql的odbc连接,名为new_odbc_con使用数据源(ODBC)。

当我更新代码时:

代码语言:javascript
复制
tryCatch({
            ch=odbcConnect("odbc_con",pwd = "!password!")
            res<-sqlQuery(ch,new_sql)
            },error = function(e) {
            print(odbcGetErrMsg(ch))          
        })

我无法连接到sql服务器并执行sql。我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-13 22:09:26

万一它再次出现,这就是我为解决这个问题所做的。

  1. 我使用管理工具(数据源(ODBC))创建了一个系统odbc连接。
  2. 我已经将这一行更新为ch=odbcConnect("odbc_con",pwd = "!password!")到ch=odbcConnect("odbc_con",uid="userid",pwd = "!password!")

很有魅力。

票数 0
EN

Stack Overflow用户

发布于 2017-09-07 14:56:06

还提供Linux解决方案,在调用R中的dsn之前,需要编辑下面的3个配置文件

代码语言:javascript
复制
$ sudo nano /etc/odbc.ini 
[salesdb]
Driver=FreeTDS
Trace=No
Server=xxx
Port=1433
Database=xxxx
TDS_Version=8.0


$ sudo nano /etc/freetds.conf
# A typical Microsoft server
[salesdb]
    host = xxxx
    port = 1433
    tds version = 8.0
    client charset = UTF-8

$ sudo nano /etc/odbcinst.ini
# Driver from the FreeTDS package
# Setup from the unixODBC package
[FreeTDS]
Description     = FreeTDS
Driver          = /usr/lib64/libtdsodbc.so # this is the linux path, you can call odbcinst -q -d to see where the other drivers were installed in the system

最后,您可以使用tsql或isql测试会话是否正确安装,或者下面的命令,

代码语言:javascript
复制
$ odbcinst -q -s
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23045764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档