Excel получает данные из PostgreSQL с помощью iODBC connector

#excel #postgresql #64-bit #macos-catalina #iodbc

#excel #postgresql #64-разрядный #macos-каталина #iodbc

Вопрос:

Я пытаюсь использовать драйвер psqlODBC для получения данных из PostgreSQL в Excel в macOS Catalina.

Но я продолжаю получать эту ошибку IM003 [iODBC][Driver Manager]Specified driver could not be loaded

изображение

Следующие вещи — это метод, который я пробовал, но все еще безуспешно.

  • Отключить SIP
  • Переместитесь psqlodbca.so под /Library/ODBC папку, чтобы разрешить Excel open в среде изолированной среды.
  • Изменил оригинал /usr/lib/libpq.5.dylib на dylib файл PostgreSQL с помощью команды

    sudo ln -s /postgresql_install_folder/lib/libpq.5.dylib /usr/lib/libpq.5.dylib

Я загружаю исходный код с https://www.postgresql.org/ftp/odbc/versions/src / и следуйте этой статье https://odbc.postgresql.org/docs/unix-compilation.html чтобы скомпилировать драйвер и установить нижеприведенный psqlodbca.so /Library/ODBC

Мой /Library/ODBC/odbc.ini

 [ODBC Data Sources]
postgresAscii   = ascii

[postgresAscii]
Driver          = {ascii}
Description     = postgres odbc for user type ascii
Database        = db
Server          = 127.0.0.1
Port            = 5432
FetchBufferSize = 99
 

Мой /Library/ODBC/odbcinst.ini

 [ODBC Drivers]
ascii = Installed

[ascii]
Driver = /Library/ODBC/psqlodbca.so
Setup  =
 

Я могу подключиться к своей базе данных с помощью iODBC Administrator64.app

connected_using_iODBCAdmin64

Комментарии:

1. Вы пытались подключиться с iODBC Administrator.app помощью? Или iODBC Administrator64.app ? Или iODBC Demo.app ? В основном — начните с более простых вещей, а затем переходите к Excel, когда основы работают. Мое первое предположение заключается в том, что ваш psqlodbca.so 32-разрядный, а Excel 64-разрядный… но есть много других возможностей.

2. Привет, @TallTed мой psqlodbca.so Я полагал, что 64-битная вот какая file команда /Library/ODBC/psqlodbca.so: Mach-O 64-bit bundle x86_64

3. и да, я могу подключиться к БД с помощью iODBC Administrator64.app

4. На новом изображении показано, что соединение и запрос выполняются iODBC Demo.app , а не iODBC Administrator64.app … но это нормально; теперь мы знаем, что драйвер в основном работает. Теперь мы можем сосредоточиться на том, как Excel работает иначе, чем другие. Песочница — это самое главное, поэтому давайте посмотрим, имеет ли драйвер PostgreSQL какие-либо внешние зависимости, которые не находятся в изолированной среде Excel. Пожалуйста, добавьте вывод otool -L /Library/ODBC/psqlodbca.so к вашему вопросу. Пожалуйста, также укажите полную версию и дату Excel (через меню Excel About… ) и iODBC Administrator64.app (из About вкладки).

5. Недавно был выпущен iODBC 3.52.15, который включал ряд исправлений для последних версий macOS. Вы можете попробовать установить новую сборку и повторить попытки подключения из Excel.