RODBC на macOS Каталина - PullRequest
       48

RODBC на macOS Каталина

1 голос
/ 18 октября 2019

У меня проблемы с тем, чтобы заставить 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.

1 Ответ

1 голос
/ 08 ноября 2019

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

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

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

...