RODBC на macOS Catalina

Мне не удается заставить RODBC работать в macOS Catalina. Я пытаюсь подключиться к MS SQL Server. Я установил unixODBC с помощью Homebrew и установил драйверы Microsoft ODBC из здесь. RODBC устанавливается нормально, и я установил его, используя это, как было предложено в другом месте:

install.packages('RODBC', type="source", configure.args='--with-odbc-include=/usr/local/lib' )

Но когда я запускаю это:

RODBC::odbcDriverConnect(connection = "driver={ODBC Driver 17 for SQL Server};server=XYZ;database=XYZ;UID=XYZ;PWD=XYZ")

он зависает - мне нужно отменить команду, а затем я получаю кучу предупреждений, которые выглядят так:

[RODBC] ERROR: state IM003, code 0, message [iODBC][Driver Manager]Specified driver could not be loaded

Я знаю, что драйвер SQL Server установлен, так как использование пакета ODBC в R работает - с тем же драйвером! Но по какой-то причине RODBC использует iODBC и явно ищет драйвер не в том месте.

Я пытаюсь написать код, который будет работать на разных платформах, и я успешно использовал RODBC в Ubuntu и Windows. Но мне сложно понять, как заставить RODBC работать на моем MacBook.


person tom    schedule 18.10.2019    source источник


Ответы (1)


У меня была такая же проблема с подключением к Impala на Mac после некоторых обновлений. Обходной путь заключался в том, чтобы убедиться, что RODBC использует unixodbc вместо iODBC следующим образом:

  • установить unixodbc. Я использовал варево.
  • Удалите RODBC с помощью remove.packages ("RODBC")
  • Переустановите RODBC из источника и укажите путь к unixodbc lib и включите с помощью install.packages ("RODBC", type = "source", configure.args = c ("- with-odbc-include = / usr / local / include / "," - with-odbc-lib = / usr / local / lib / "))

На моем компьютере unixodbc находится в / usr / local

person AlbertG    schedule 08.11.2019