RODBC を使用して、cygwin で R から SQL Server データベースに接続しようとしています。
RODBCパッケージが必要libiobbcとlibiodbc-develするドライバー マネージャーを提供することを理解しています。
をインストールfreetdsしました。これは、MS SQL サーバー データベースに接続できる ODBC ドライバーを提供することを理解しています。コマンドライン ツールを使用しtsqlて、SQL Server に接続できることを確認しました。
RODBCR のライブラリから SQL Server データベースに接続できるように、ドライバー マネージャー (iODBC) をドライバー (freeTDS) にポイントするタスクを理解しました。
freeTDSのユーザー ガイドでは、freeTDS が提供するドライバーは にある必要があり/usr/local/freetds/lib/libtdsodbc.so、次のような方法でこのドライバーを idobc に定義する必要があることが示唆されています。
;
; odbcinst.ini
;
[FreeTDS]
Driver = /usr/local/freetds/lib/libtdsodbc.so
しかしlibtdsodbc.so、私のシステムにはありません。cygwin パッケージfreetdsでは提供されていないようです (インストールされているバイナリとサポート ファイルのリスト) 。
freeTDS ドライバーを使用して MS SQL に接続するように idobc を構成するにはどうすればよいですか?
編集
私のシステム上に/lib/cygtdsodbc.dllある同僚。/usr/lib/cygtdsodbc.dllこれは に相当する cygwinlibtdsodbc.soでしょうか?
odbcinst.iniドライバーを定義するために、次の内容のファイルを作成しました。
[ODBC Drivers]
FreeTDS = Installed
[FreeTDS]
Driver = /usr/lib/cygtdsodbc.dll
上記で定義したドライバを使用してodbc.ini、データ ソースを定義するファイル:my_db
[ODBC Data Sources]
my_db = FreeTDS
[my_db]
Driver = /usr/lib/cygtdsodbc.dll
Database = db_name
Host = server_dns_name
Port = 1433
iodbctest物事をチェックするために実行すると、
$ iodbctest
iODBC Demonstration program
This program shows an interactive SQL processor
Driver Manager: 03.52.0812.0326
Enter ODBC connect string (? shows list): ?
DSN | Driver
------------------------------------------------------------------------------
my_db | FreeTDS
Enter ODBC connect string (? shows list): my_db
1: SQLDriverConnect = [iODBC][Driver Manager]Driver's SQLAllocEnv() failed (0) SQLSTATE=IM004
1: ODBC_Connect = [iODBC][Driver Manager]Driver's SQLAllocEnv() failed (0) SQLSTATE=IM004