2016-12-20 38 views
5

Próbuję przetestować moje skrypty migracji danych od mssql-server do oracle server. W tym celu muszę zainstalować pakiet pyodbcpython dla Ubuntu, ma on zależność od unixodbc. Kiedy próbuję zainstalować unixodbc-dev używając:Błąd instalacji Pyodbc w systemie Ubuntu 16.04 z zainstalowanym serwerem sql

sudo apt-get install unixodbc-dev 

Daje połamane pakiety błędach:

The following packages have unmet dependencies: 
unixodbc-dev : Depends: unixodbc (= 2.3.1-4.1) 
       Depends: odbcinst1debian2 (= 2.3.1-4.1) but it is not going to be installed 
E: Unable to correct problems, you have held broken packages. 

Ale z aptitude (sudo aptitude install unixodbc-dev) Jest instalacji i również usunięcie jakiegoś serwera SQL pliki powodują awarię mojego SQL-server.

ponownie instalując SQL server z tym poleceniem:

sudo apt-get install mssql-server mssql-tools -y 

usuwa unixodbc:

Removing unixodbc-dev (2.3.1-4.1) ... 
Removing unixodbc (2.3.1-4.1) ... 
Removing libodbc1:amd64 (2.3.1-4.1) ... 
Removing odbcinst (2.3.1-4.1) ... 
Removing odbcinst1debian2:amd64 (2.3.1-4.1) ... 

Stąd znowu, ja zostaję tylko z SQL-server i nrunixodbc (pyodbc nie działa). Rozumiem, że istnieje problem zależności między oboma pakietami.

Czy istnieje sposób na zainstalowanie obu urządzeń na tym samym komputerze lub czy muszę używać tutaj 2 maszyn?

+0

Brzmi jak próbujesz zainstalować pyodbc z repozytoriów Ubuntu. Czy próbowałeś zainstalować go za pomocą pip, aby sprawdzić, czy to działa lepiej? –

+0

@GordThompson Tak, zrobiłem tylko 'pip install pyodbc', ale bez powodzenia. –

Odpowiedz

5

Wreszcie, mam rozwiązanie tylko z Microsoft's website. Oto sposób konfigurowania unixodbc z MSSQL na Ubuntu 16.04:

sudo apt-get install unixodbc-dev-utf16 

Po tym, można łatwo zainstalować pyodbc z:

pip install pyodbc 

Istnieje wymienionych sposobów, w tym Microsoft's webpage dla użytkowania i montażu Microsoft ODBC Driver dla SQL Server dla popularnych systemów Linux.


Oto najprostsza metoda instalacji na Ubuntu 16.04 że znalazłem:

sudo su 
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - 
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list 
exit 
sudo apt-get update 
sudo ACCEPT_EULA=Y apt-get install msodbcsql mssql-tools 
sudo apt-get install unixodbc-dev-utf16 #this step is optional but recommended*