Cài đặt Ubuntu 16.04 LTS: Làm cách nào để cài đặt ODBC?


15

Sau khi cài đặt bản sao mới của Ubuntu 16.04, tôi đã cố gắng cài đặt MySQL ODBC theo tài liệu chính thức tại https : //help.ub Ubuntu.com/community/ODBC :

# apt-get install libmyodbc
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libmyodbc is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libmyodbc' has no installation candidate

Tôi có thể thấy điều này đang có một khởi đầu tuyệt vời!

Tìm kiếm kho lưu trữ gói cho ODBC cũng không đặc biệt hữu ích. Đây là một phần rất quan trọng của bất kỳ hệ thống Linux hiện đại nào! Nó đã đi đâu?!

PS: Cập nhật tài liệu tại help.ubfox.com cũng sẽ rất tuyệt!

Đã chỉnh sửa để thêm: Ngoài ra, có vẻ như tệp trình điều khiển libmyodbc.so không tồn tại trên phiên bản Ubuntu này.


cố gắng apt-cache search libmyodbcliệt kê các gói có tên tương tự Đây là những gì "được giới thiệu bởi một gói khác". Hoặc kiểm tra nếu nó được liệt kê trong synap. Đừng quên apt-get updatetrước khi cài đặt / nâng cấp các gói với apt.
Lord_PedantenStein

Tôi không bận tâm với apt-cache, tôi chỉ tìm kiếm các gói.ubfox.com .
Ernie

Dù bằng cách nào, libmyodbckhông tồn tại cho 16.04.
edwinksl

Mát mẻ. Làm cách nào để ODBC hoạt động vào ngày 16.04? Tôi có phần mềm hoàn toàn yêu cầu nó.
Ernie

Câu trả lời:


9

Tải xuống trực tiếp từ dev.mysql.com: https://dev.mysql.com/doads/connector/odbc/

Chọn Ubuntu 16.04 64 bit hoặc 32 bit (có thể là 64 bit), tải xuống bóng TAR, sau đó sao chép tệp libmyodbc5a.sovào/usr/lib/x86_64-linux-gnu/odbc/

sau đó, tạo /etc/odbcinst.ini

[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc5a.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
FileUsage = 1

/etc/odbc.ini

[my-connector]
Description           = MySQL connection to  database
Driver                = MySQL
Database              = mydb
Server                = localhost
User             = dbuser
Password              = dbpass
Port                  = 3306
Socket                = /var/run/mysqld/mysqld.sock

Lưu ý rằng thẻ tên người dùng là Người dùng (và không phải tên người dùng như trong một số ví dụ) và ổ cắm ở dưới /var/runvà không ở dưới/var/lib

echo "select 1" | isql -v my-connector

sau đó làm việc cho tôi


1
Xin lưu ý rằng odbcinst.ini như được đề xuất là dành cho phiên bản ANSI của trình điều khiển. Nếu bạn cần các ký tự UNICODE, bạn nên sử dụng phiên bản UNICODE tốt hơn: libmyodbc5w.so (trong dòng trình điều khiển)
Marc Vanhoomissen

Cảm ơn câu trả lời của bạn. Nó hoạt động như một bùa mê trong Ubuntu 16.04
e_soroush

Chỉ trong trường hợp bất kỳ ai khác gặp phải vấn đề tôi gặp phải: "mới nhất" kể từ 2018-09-01 là v8.12. Tôi đã gặp một lỗi cuối cùng trong cả hai lỗi này và đã thử sử dụng phiên bản 5.X. Nhưng trang dev.mysql.com chỉ có sẵn 8.12 hoặc 5.11. Tôi đã truy cập internet cho phiên bản 5.10 mà tôi khá chắc chắn sẽ hoạt động và tìm thấy nó trên máy nhân bản FTP. Có một số trong đó, chủ yếu là tại các trường đại học. Vì vậy, câu chuyện dài ngắn: để hạ cấp hạ cấp của bạn, hãy thử googling "gương mysql ftp"
JDS

2

Các gói phần mềm có sẵn cho Xenial và nó có thể được nhìn thấy ở đây . Do đó, nó nên cài đặt. Hãy chắc chắn rằng bạn chạy một sudo apt-get updatetrước khi cài đặt. Ngoài ra, hãy đảm bảo rằng kho lưu trữ vũ trụ cho Xenial là một phần của các nguồn của bạn (như liên kết ở trên cho thấy, gói này thuộc về kho lưu trữ vũ trụ ). Bạn có thể kiểm tra nguồn này là một phần của các nguồn có sẵn trong etc/apt/sources.listtệp. Cần có một dòng như:

deb http://com.archive.ubuntu.com/ubuntu/ xenial universe

(Chiếc gương có thể khác với com.archive...)

Nếu vẫn không thể cài đặt nó (điều này là lạ), hãy truy cập trang web ở trên, chọn bạn phiên bản kiến ​​trúc và tải xuống tệp .deb. Ví dụ: đối với amd64, tệp này là tệp này: http://launchpadlibrarian.net/141005765/libmyodbc_5.1.10-3_amd64.deb . Sau đó, mở một thiết bị đầu cuối, đi đến thư mục chứa tệp và chạy:

sudo dpkg -i file.deb
sudo apt-get install -f

(Lệnh sau là trong trường hợp một số phụ thuộc không được đáp ứng)


4
Gói đã từng tồn tại, nhưng nó đã bị xóa khỏi universerepo như bạn có thể thấy trong lịch sử xuất bản của nó tại launchpad.net/ubfox/+source/myodbc/5.1.10-3/+publishinghistory . Lý do loại bỏ nó được đưa ra tại bug.launchpad.net/ubfox/+source/myodbc/+orms/1564856 . Kích hoạt universerepo sẽ không giúp đỡ. Gói "có sẵn" theo nghĩa rất đặc biệt của từ này, đó là .debtệp của nó trước khi xóa có sẵn. Người ta có thể cài đặt .debtệp sudo dpkg -i, nhưng gói không được duy trì trong một thời gian và có thể bị hỏng.
edwinksl

2

Tôi đã tìm thấy nó trong http://dev.mysql.com/doads/connector/odbc/ (Tôi đã chọn "Ubuntu Linux 15.10 (x86, 64-bit), Lưu trữ TAR được nén")

Tải xuống và giải nén các tệp, sau đó bạn nhận được libmyodbc5a.so (đối với hệ thống ANSI) và libmyodbc5w.so (đối với Unicode).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.