Я следовал документации на db.rstudio.com и других сайтах и не могу подключиться к своей базе данных Postgres от Rstudio. Я на макос 10.14. Запуск:
con <- DBI::dbConnect(odbc::odbc(),
Driver = "PostgreSQL Driver",
Database = "mydatabase",
UID = "myuser",
PWD = "mypassword",
Host = "localhost",
Port = 5432)
Выдает ошибку:
Error: nanodbc/nanodbc.cpp:983: 00000:
Сначала я получил пустой список при запуске odbcListDrivers()
, однако мне удалось получить его для отображения postgres расположение / значение драйвера путем копирования odbcinst.ini
из глобального /etc
моему пользователю (cp /etc/odbcinst.ini ~/.odbcinst.ini
).
Аналогично, odbcListDataSources()
ничего не возвращал, пока я не сделал то же самое (cp /etc/odbc.ini ~/.odbc.ini
)
odbc.ini
и odbcinst.ini
заблокированы для редактирования через Finder, но могут редактироваться через нано / терминал.
Я также пытался решить проблему, установив драйверы базы данных через Postgres 'конструктор стека, но это ничего не изменило.
В целом, я подозреваю, что это проблема с разрешениями , но я не совсем уверен, где искать дальше.
Спасибо за вашу помощь!
Разрешение для odbc.ini
было:
-rw-rw-rw-@ 1 root wheel 139B Mar 31 12:57 odbc.ini
, которое я изменил на:
-rwxr-xr-x@ 1 myuser wheel 139B Mar 31 12:57 odbc.ini
Но это не решило проблему, ошибка та же.
Содержание odbcinst.ini
:
[PostgreSQL Driver]
Driver = /usr/local/lib/psqlodbcw.so
Содержание odbc.ini
:
[PostgreSQL]
Driver = PostgreSQL Driver
Database = mydatabase
Servername = localhost
UserName = myuser
Password = mypassword
Port = 5432
odbc::odbcListDrivers()
дает:
name attribute
1 PostgreSQL Driver Driver
2 ODBC Drivers Amazon Redshift
3 Amazon Redshift Driver
value
1 /usr/local/lib/psqlodbcw.so
2 Installed
3 /opt/amazon/redshift/lib/universal/libamazonredshiftodbc.dylib
odbc::odbcListDataSources()
дает:
name description
1 PostgreSQL PostgreSQL Driver