使用DBI连接到MSSQL

时间:2014-07-21 13:12:51

标签: r r-dbi

我无法使用DBI包连接到MSSQL。 我正在尝试包本身所示的方式

    m <- dbDriver("RODBC") # error

错误:找不到功能&#34; RODBC&#34;

    # open the connection using user, passsword, etc., as
    # specified in the file \file{\$HOME/.my.cnf}
    con <- dbConnect(m, dsn="data.source", uid="user", pwd="password"))    

任何帮助表示赞赏。感谢

3 个答案:

答案 0 :(得分:14)

作为这个问题的更新:RStudio创建了odbc package(或GitHub version here),它通过DBI处理与多个数据库的ODBC连接。对于SQL Server,您使用:

newHeight = 320;
newWidth  = 267 ;

您也可以设置dsn或提供连接字符串。

答案 1 :(得分:1)

看起来曾经有一个用于DBI的RODBC驱动程序,但不再是:

http://cran.r-project.org/src/contrib/Archive/DBI.RODBC/

稍微调整一下就可以安装在版本3 R中,但我没有任何ODBC源来测试它。但是m = dbDriver("RODBC")并没有错误。

> m = dbDriver("RODBC")
> m
<ODBCDriver:(29781)> 
> 

建议您在R-sig-db邮件列表上询问可能会发现此代码和/或作者发生了什么......

答案 2 :(得分:-1)

解决。 我用过RODBC库。它具有很好的功能,可以在R中连接sql和运行sql查询。

加载库:

dbhandle <- odbcDriverConnect(dbDriver)

#dbDriver是具有userID,数据库名称,密码等的连接字符串。

sqlQuery(channel=dbhandle, query)

运行Sql查询

<RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
     <EditText
        android:id="@+id/password"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:background="@color/white"
        android:inputType="textPassword"
        android:padding="10dp"
        android:singleLine="true"
        android:textColor="@color/input_login"
        android:textColorHint="@color/input_login_hint"
        />
      <TextView android:id="@+id/hint"
        android:hint="@string/hint_password"
        android:background="@color/white"
        android:textColorHint="@color/input_login_hint"
        android:padding="10dp"
        android:singleLine="true"
        android:layout_alignRight="@id/password"
        android:layout_alignTop="@id/password"
        android:textSize="17dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/password"
        />
    </RelativeLayout>

多数民众赞成。