2017-02-10 31 views
-1

現在、RでRODBCパッケージを使用してSQL Serverデータベースに対してクエリを実行しています。 Knitrは(DBI packageを使用)を使用できるようになりました。 RMarkdown(RMD)ドキュメントにクリーンなSQLを埋め込むことができるので、これを利用したいと思います。しかし、私はDBIをSQL Server環境に接続するのに苦労しています。R DBIパッケージをSQL Serverに接続する方法は?

私はDBIのヘルプファイルとvignettesを調べましたが、紛失しています。彼らはSQL ServerのためにRSQLServerと言いますが、それはCRANから引き出されています。私はdevtoolsを使ってgitHubからインストールできることを知っていますが、私はCRANには載せられないパッケージに頼らない方がよいでしょう。私は信頼性の問題について聞いたことがあるので、RJDBCコネクタを避けることを好むでしょうし、コードを移植性がはるかに低いものにしています。

私の目標はRMDファイルでこれを使用することですが、下のコードは例をできるだけ小さく保つための単純なRスクリプトです。

RODBCの例と同様の方法でDBIの例を使用する方法を知っている人はいますか?

# *** Query - edit table name to work with your db 
my_query = "select top 100 * from my_table" 

# *** This code works *** 
library(RODBC) 
# Replace <<SERVER>> and <<DB>> with your server and database, respectively 
SQLServer <- odbcDriverConnect(connection = "Driver={SQL Server};server=<<SERVER>>;database=<<DB>>;trusted_connection=yes") 
sqlResult <- sqlQuery(SQLServer, my_query) 


# *** This code doesn't *** 
library(DBI) 
# Replace <<SERVER>> and <<DB>> with your server and database, respectively 
SQLServer <- dbConnect(dbDriver("ODBC"), "server=<<SERVER>>;database=<<DB>>;trusted_connection=yes") 
sqlResult <- dbSendQuery(con, my_query) 
+0

を再現可能な例とともに、質問自体に明確な問題文を提供する。誰かが再オープンを見直すことができますか? –

+1

あなたはこれを読んでみたいです:https://github.com/rstats-db/odbc – p0bs

答えて

1

あなたがからMicrosoft SQL ServerのJDBCドライバを使用して、rjdbcパッケージを試すことができます:https://www.microsoft.com/en-us/download/details.aspx?id=21599

そして、の線に沿って何かの操作を行います。私は質問に編集した

drv <- JDBC(driverClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver", 
      classPath = 'path/to/sqljdbc4.jar") 

con <- dbConnect(drv, 'jdbc:sqlserver:path/to/server;user=user;password=password;) 
+0

答えてくれてありがとうございますが、私はCRANで利用可能なパッケージを利用したいと思っています。 CRANで、私が知っている限り、クロスプラットフォームではありません。私はそれをよりよく反映するように質問を更新します。 –

関連する問題