Установите драйвер ODBC для Mac pyodbc - PullRequest
0 голосов
/ 21 сентября 2018

Работа с моим Mac пытается подключиться к базе данных SQL Server.Следуя инструкциям Microsoft .Однако, когда я ввожу:

brew install --no-sandbox msodbcsql@13.1.9.2 mssql-tools@14.0.6.0

, я получаю сообщение об ошибке:

odbcinst: SQLInstallDriverEx failed with Invalid install path.

Если я устанавливаю драйвер ODBC (поверх веб-страницы инструкций Microsoft) и вручную загружаю в скрипт Python, это возможно?Вот мой код Python:

import pyodbc
import pandas as pd

cnxn = pyodbc.connect("Driver={SQL Server Native Client 11.0};"
                       "Server=server_name;"
                       "Database=Sandbox;"
                       "uid=username;pwd=password")
df = pd.read_sql_query('select * from table', cnxn)

В этом коде, как бы я заменил скачанный скачанный драйвер на оператор connect, таким образом, минуя brew?

1 Ответ

0 голосов
/ 15 февраля 2019

В этом коде, как бы я заменил скачанный скачанный драйвер на оператор connect, таким образом, минуя brew?

Ответ на этот вопрос - нет, вы не можете делать то, что выспрашиваешь - ты говоришь о разных целях.brew (Homebrew) - команда диспетчера пакетов, которая требуется в этом случае для установки драйверов на ваш Mac, чтобы ваш код Python мог общаться с базой данных.Проще говоря, вы не можете запустить свой код Python без установленных драйверов, поэтому нет способа обойти его.

Были более свежие изменения в кране Homebrew (https://github.com/Microsoft/homebrew-mssql-release), чтовы используете для установки драйверов, в том числе несколько проблем , схожих с вашими, которые сейчас закрыты / решены. Поэтому попробуйте следующее:

# This updates the tap and Homebrew to the latest versions
brew update

# Install the drivers; note options like `--no-sandbox` are no longer in Homebrew
brew install msodbcsql@13.1.9.2 mssql-tools@14.0.6.0

Это работает в моем macOS10.14 Среда с Homebrew 2.0.1. Проверьте файл на /usr/local/etc/odbcinst.ini, и вы должны увидеть ссылку на [ODBC Driver 13 for SQL Server]. Вам нужно будет изменить свой код Python, чтобы он отражал имя этого нового драйвера, например:

cnxn = pyodbc.connect("Driver={ODBC Driver 13 for SQL Server};"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...