2016-12-20 33 views
5

Tôi đang cố gắng kiểm tra tập lệnh của mình để di chuyển dữ liệu từ mssql-server đến oracle server. Đối với điều này, tôi phải cài đặt gói pyodbcpython cho Ubuntu, nó có sự phụ thuộc của unixodbc. Khi tôi cố gắng để cài đặt unixodbc-dev sử dụng:Lỗi cài đặt Pyodbc trên Ubuntu 16.04 với Sql Server được cài đặt

sudo apt-get install unixodbc-dev 

Nó cung cấp cho gói bị hỏng lỗi:

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. 

Nhưng với năng khiếu (sudo aptitude install unixodbc-dev) nó là cài đặtcũng loại bỏ một số máy chủ SQL tập tin do đó số SQL-server của tôi bị hỏng.

Một lần nữa về việc cài đặt SQL server với lệnh này:

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

nó loại bỏ 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) ... 

Do đó một lần nữa, tôi lại chỉ với SQL-serverkhôngunixodbc (pyodbc không hoạt động). Tôi hiểu rằng có một số vấn đề phụ thuộc giữa cả hai gói.

Có cách nào để Cài đặt cả trên cùng một máy hoặc tôi có phải sử dụng 2 máy tại đây không?

+0

Có vẻ như bạn đang cố gắng để cài đặt pyodbc từ kho của Ubuntu. Bạn đã thử cài đặt nó bằng cách sử dụng pip để xem nếu nó hoạt động tốt hơn? –

+0

@GordThompson Có, tôi đã làm 'pip cài đặt pyodbc' chỉ, nhưng không may mắn. –

Trả lời

5

Cuối cùng, tôi chỉ có giải pháp từ Microsoft's website. Dưới đây là phương pháp lập unixodbc với MSSQL trên Ubuntu 16.04:

sudo apt-get install unixodbc-dev-utf16 

Sau này, tôi có thể dễ dàng cài đặt pyodbc với:

cách
pip install pyodbc 

Có được liệt kê trên Microsoft's webpage này cho việc sử dụng và cài đặt Microsoft ODBC Driver cho SQL Server cho các hệ thống Linux phổ biến.


Đây là phương pháp cài đặt dễ dàng nhất cho trên Ubuntu 16.04 mà tôi đã tìm thấy:

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* 
Các vấn đề liên quan