【问题标题】:RODBC odbcDriverConnect() Connection ErrorRODBC odbcDriverConnect() 连接错误
【发布时间】:2013-03-03 11:51:43
【问题描述】:

我正在尝试使用

odbcDriverConnect('driver={SQL Server};server=servername\instancename,port;database=testing;username=abc;password=123456') 

连接远程数据库服务器(sql server 2008)。但我得到了

[RODBC] 错误:状态 08001,代码 17,消息 [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server 不存在或访问被拒绝。

错误。有什么想法吗?

我可以使用

odbcDriverConnect('driver={SQL Server};server=localhost;database=testing;trusted_connection=true') 

连接我的本地数据库服务器(sql server 2008)。

【问题讨论】:

    标签: sql-server rodbc


    【解决方案1】:

    正确的语法应该是:

    odbcDriverConnect('driver={SQL Server};server=servername\\instancename,port;database=testing;uid=abc;pwd=123456')
    

    如果您使用 Windows 身份验证方法:

    odbcDriverConnect('driver={SQL Server};server=servername\\\\instancename,port;database=testing;trusted_connection=true')
    

    斜线似乎是一个转义字符,转义斜线有效。

    【讨论】:

      【解决方案2】:

      1.连接到 MySQL

      a)如果你的系统中安装了Mysql,如果没有安装。

      b)下载 RMySQL IN R

      library(RMySQL)

      drv = dbDriver("MySQL 5.0.1")

      确保 MySQL 版本正确。

      con = dbConnect(drv,host="localhost",dbname="test",user="root",pass="root")

      使用本地主机或使用服务器,即 ip 地址

      使用所需的数据库名称、用户名和密码

      album = dbGetQuery(con,statement="select * from table")

      运行所需的查询

      close(con)

      2.另一种连接数据库的方式

      a)首先安装任何数据库,如 MySQL、Oracle、SQL Server

      b)为数据库安装 ODBC 连接器

      library(Rodbc)

      channel <- odbcConnect("test", uid="ripley", pwd="secret")

      test 是 odbc 连接器的连接名称,用户必须手动设置

      用户可以在管理员工具中找到这个

      res <- sqlFetch(ch, "table name")

      可以将表作为数据框检索

      res<-sqlQuery(channel, paste("select query"))

      带有条件的表的一部分可以作为数据框检索

      sqlSave(channel, dataframe)

      将数据框保存到数据库(不要使用“res

      喜欢的用户可以使用

      sqlCopy() sqlDrop()

      sqlTables()

      close(channel)

      总是关闭连接

      【讨论】:

        【解决方案3】:

        对于 Linux 上的 Microsoft ODBC Driver 11 for SQL Server,R 版本 3.0.1 中的 RODBC 版本 1.3-7,上述答案均无效。然而,起作用的是以下内容:

        dbconnection <- odbcDriverConnect("Driver=ODBC Driver 11 for SQL Server;
                        Server=127.0.0.1; Database=MyDBName; 
                        Uid=MyName; Pwd=XXXX")
        

        (输入相关的IP地址、数据库名称等)。

        如果是受信任的连接:

        dbconnection <- odbcDriverConnect("Driver=ODBC Driver 11 for SQL Server;
                        Server=127.0.0.1; Database=MyDBName; 
                        Uid=MyName; Pwd=XXXX; trusted_connection=yes")
        

        trusted_connection 只会听“yes”或“no”而不听“true”和“false”

        【讨论】:

          【解决方案4】:

          看起来您正在尝试连接到 SQL Server。这段代码 sn-p 应该可以工作,它对我有用:

          库(“RODBC”)

          连接

          参考:Connecting MS SQL Server via R

          【讨论】:

          • 对此发表负面评论的解释在哪里?
          猜你喜欢
          • 1970-01-01
          • 2016-06-29
          • 2011-08-08
          • 1970-01-01
          • 1970-01-01
          • 2022-06-10
          • 2013-06-15
          • 1970-01-01
          • 2014-08-19
          相关资源
          最近更新 更多