RODBC nie rozpoznaje moich ustawień ODBC

Używam R 2.15.2 na serwerze Red Hat Linux 6. Moim celem jest połączenie się z bazą danych MS SQL Server na innym komputerze za pośrednictwem RODBC. Przeprowadziłem badania i pobrałem i zainstalowałem wersję linuksową sterownika ODBC MS SQLwitryna pomocy technicznej firmy Microsoft. Mam zbudować unixODBC w wersji 2.3.0 ze źródła, ponieważ jest to wymagane przez sterownik Windows i nie jest jeszcze w repozytoriach RHL (wersja repo to 2.2.14).

W każdym razie, po odrobinie pracy, w końcu udało mi się poprawnie zainstalować i skonfigurować sterownik i mogę pomyślnie połączyć się z bazą danych SQL Server za pośrednictwemisql dowództwo:

$ isql -v test testuser testpass
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>

więc wiem, że mamodbc.ini iodbcinst.ini poprawnie skonfigurowane pliki.

Jednak gdy próbuję uzyskać dostęp do połączenia ODBC z poziomu R, dzieje się tak:

> test <- odbcDriverConnect('DSN=test;Database=RSQLTest01;Uid=testuser;Pwd=testpass')
Warning messages:
1: In odbcDriverConnect("DSN=test;Database=RSQLTest01;Uid=testuser;Pwd=testpass") :
   [RODBC] ERROR: state IM002, code 0, message [unixODBC][Driver Manager]Data 
   source name not found, and no default driver specified
2: In odbcDriverConnect("DSN=test;Database=RSQLTest01;Uid=testuser;Pwd=testpass") :
   ODBC connection failed

Oto rezultatodbcDataSources polecenie w R:

> odbcDataSources()
named character(0)

Prowadziłem badania i myślę, że rozwiązanie (choć mogłem się mylić) może mieć coś wspólnego z prawidłową konfiguracją zmiennych środowiskowych ODBC, aby RODBC wiedział, gdzie szukać, aby znaleźćodbc.ini. Na podstawie moich badań znalazłem następujące zmienne środowiskowe, które mogą być istotne:$ODBCINI, $ODBCSYSINI, $ODBC_ROOT $ODBC_INCLUDE, and $ODBC_LIBS. Mam rozsądne wyobrażenie o tym, co należy ustawić, ale nie jestem pewien, jak je ustawić na stałe, i aby RODBC mógł rozpoznać, gdzie znaleźć odpowiednie pliki.

Czy ktoś może mi na to rzucić trochę światła? Nie jestem pewien, czy dobrze rozumiem, jak zmienne środowiskowe działają w Linuksie, a zwłaszcza dlaczegoisql nie ma problemu z połączeniem, aleRODBC nie mogę nawet znaleźć sterownika / źródła danych.

UWAGA: gdy miałem zainstalowaną wersję repozytorium unixODBC, RODBC zainstalowałoby się dobrze, używającinstall.packages('RODBC') komenda w R. Jednak po zainstalowaniu unixODBC 2.3.0 ze źródła instalacja RODBC nie powiedzie się z powodu problemu zależności i musiałem zainstalować RODBC ze źródła przy użyciuprzewodnik zamieszczony tutaj. Czy to możliwe, że nie udało mi się poprawnie skonfigurować ODBC i dlatego mam teraz problemy?

questionAnswers(4)

yourAnswerToTheQuestion