Menginstal Ubuntu 16.04 LTS: Bagaimana cara menginstal ODBC?


16

Setelah menginstal salinan baru Ubuntu 16.04, saya mencoba menginstal MySQL ODBC sesuai dokumentasi resmi di https://help.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

Saya bisa melihat ini memulai dengan awal yang bagus!

Mencari repositori paket untuk ODBC juga tidak terlalu membantu. Ini adalah bagian yang sangat penting dari sistem Linux modern! Kemana perginya?!

PS: Memperbarui dokumentasi di help.ubuntu.com akan menyenangkan juga!

Diedit untuk menambahkan: Selain itu, tampaknya file driver libmyodbc.so tidak ada pada versi Ubuntu ini.


coba apt-cache search libmyodbcdaftar paket dengan nama yang mirip. Inilah yang disebut "oleh paket lain". Atau periksa apakah terdaftar dalam sinaptik. Jangan lupa apt-get updatesebelum menginstal / meningkatkan paket dengan apt.
Lord_PedantenStein

Saya tidak peduli dengan apt-cache, saya hanya mencari paket.ubuntu.com .
Ernie

Either way, libmyodbctidak ada untuk 16,04.
edwinksl

Keren. Bagaimana cara ODBC bekerja pada 16.04? Saya memiliki perangkat lunak yang benar-benar membutuhkannya.
Ernie

Jawaban:


9

Unduh langsung dari dev.mysql.com: https://dev.mysql.com/downloads/connector/odbc/

Pilih Ubuntu 16.04 64 bit atau 32 bit (mungkin 64 bit), unduh bola TAR, lalu salin file libmyodbc5a.soke/usr/lib/x86_64-linux-gnu/odbc/

lalu, buat /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

dan /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

Perhatikan bahwa tag nama pengguna adalah Pengguna (dan bukan nama pengguna seperti yang terlihat dalam beberapa contoh) dan soket di bawah /var/rundan tidak di bawah/var/lib

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

kemudian bekerja untuk saya


1
Harap dicatat bahwa odbcinst.ini yang diusulkan adalah untuk versi ANSI driver. Jika Anda memerlukan karakter UNICODE, Anda lebih baik dengan versi UNICODE: libmyodbc5w.so (di baris driver)
Marc Vanhoomissen

Terima kasih atas jawaban anda. Ini berfungsi seperti pesona di Ubuntu 16.04
e_soroush

Untuk berjaga-jaga jika ada orang lain yang terkena masalah yang saya tekan: "Yang terbaru" pada 2018-09-01 adalah v8.12. Saya menemukan bug yang paling terakhir di kedua hal ini, dan mencoba menggunakan versi 5.X. Tetapi situs dev.mysql.com hanya memiliki 8,12 atau 5,11. Saya menjelajahi internet untuk versi 5.10 yang saya yakin akan berhasil, dan menemukannya di mirror FTP. Ada beberapa dari mereka, kebanyakan di universitas. Jadi, cerita pendeknya: untuk menurunkan versi downgrade Anda, coba googling "mysql ftp mirror"
JDS

2

Paket ini tersedia untuk Xenial dan dapat dilihat di sini . Karena itu, harus menginstal. Pastikan Anda menjalankan sudo apt-get updatesebelum menginstal. Juga, pastikan bahwa repositori universe untuk Xenial adalah bagian dari sumber Anda (seperti yang ditunjukkan oleh tautan di atas, paket ini milik repositori universe ). Anda dapat memeriksa sumber ini adalah bagian dari sumber yang tersedia di etc/apt/sources.listfile. Harus ada garis seperti:

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

(Cermin bisa berbeda dari com.archive...)

Jika tetap Anda tidak dapat menginstalnya (yang aneh), kemudian pergi ke situs web di atas, pilih versi arsitektur Anda dan unduh file deb. Misalnya, untuk amd64, file ini adalah ini: http://launchpadlibrarian.net/141005765/libmyodbc_5.1.10-3_amd64.deb . Kemudian, buka terminal, buka folder yang berisi file dan jalankan:

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

(Perintah terakhir adalah dalam kasus beberapa dependensi tidak terpenuhi)


4
Paket dulu ada, tetapi telah dihapus dari universerepo seperti yang Anda lihat dari riwayat penerbitannya di launchpad.net/ubuntu/+source/myodbc/5.1.10.10/+publishinghistory . Alasan penghapusannya diberikan di bugs.launchpad.net/ubuntu/+source/myodbc/+bug/1564856 . Mengaktifkan universerepo tidak akan membantu. Paket ini "tersedia" dalam arti kata yang sangat khusus, yaitu .debfile sebelum dihapus tersedia. Satu dapat menginstal .debfile dengan sudo dpkg -i, tetapi paket itu tidak dipertahankan untuk sementara waktu dan mungkin rusak.
edwinksl

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.