RStudioにはr-dbi/odbcインターフェイスが含まれています。これにより、ODBCドライバーが使用可能な任意のデータベースのデータを処理できるRプログラムを開発できます。このブログでは、RStudioを使用して、EasysoftのSQLServerODBCドライバーを使用してLinuxからSQLServerに接続する方法を示しています。
- Linux(x86)用のSQLServerODBCドライバーをダウンロードします。 (登録が必要です。)
RStudioのバージョンが32ビットの場合は、32ビットODBCドライバーをダウンロードします。 RStudioのバージョンが64ビットの場合は、64ビットODBCドライバーをダウンロードします。 (確認するには、RStudioで、ヘルプ>RStudioについてを選択します。 。)
- RStudioがインストールされているマシンまたはインストールされる予定のマシンにSQLServerODBCドライバーをインストールしてライセンスを取得します。
インストール手順については、ODBCドライバーのドキュメントを参照してください。
注 マシンにunixODBCDriverManagerがインストールされている必要があります。 Easysoftディストリビューションには、Easysoft SQLServerODBCドライバーがテストされたバージョンのunixODBCドライバーマネージャーが含まれています。 Easysoftドライバセットアッププログラムには、unixODBCをインストールするオプションがあります。
- まだ存在しない場合は、Linuxシステムに次のパッケージをインストールします。
sudo apt-get install unixodbc-dev unixodbc
SQL Server ODBCドライバーディストリビューションにはunixODBCドライバーマネージャーライブラリとヘッダーファイルが含まれていますが、RStudioに含まれているr-dbi/odbcインターフェイスはデフォルトでシステムunixODBCファイルを使用します。今後のブログでは、「カスタム」バージョンのunixODBCでr-dbi/odbcを使用する方法について説明します。
- RStudioからアクセスするSQLServerデータベースに接続するODBCデータソースを/etc/odbc.iniに作成します。次に例を示します。
[SQLSERVER_SAMPLE] Driver = Easysoft ODBC-SQL Server Server = my_machine\SQLEXPRESS User = my_domain\my_user Password = my_password # If the database you want to connect to is the default # for the SQL Server login, omit this attribute Database = Northwind
- isqlを使用して新しいデータソースをテストします。例:
cd /usr/local/easysoft/unixODBC/bin ./isql.sh -v SQLSERVER_SAMPLE
プロンプトで「help」と入力して、テーブルのリストを表示します。終了するには、空のプロンプト行でReturnキーを押します。
接続できない場合は、この記事とSQLServerODBCドライバーのナレッジベースを参照してください。
- まだインストールしていない場合は、このマシンにRStudioをインストールしてください。
- RStudioで、r-dbi /odbcインターフェイスをビルドしてインストールします。
install.packages("odbc") library("odbc")
- SQL Server ODBCデータソースに接続してクエリを実行します:
con <- dbConnect(odbc::odbc(), "SQLSERVER_SAMPLE") dbGetQuery(con, "SELECT * FROM mytable")