Instalowanie Ubuntu 16.04 LTS: Jak zainstalować ODBC?

16

Po zainstalowaniu nowej nowej wersji Ubuntu 16.04 próbowałem zainstalować MySQL ODBC zgodnie z oficjalną dokumentacją pod adresem 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

Widzę, że zaczyna się świetnie!

Przeszukiwanie repozytorium pakietów w poszukiwaniu ODBC również nie było szczególnie pomocne. To bardzo ważna część każdego nowoczesnego systemu Linux! Gdzie to poszło ?!

PS: Przydałaby się również aktualizacja dokumentacji na help.ubuntu.com!

Edytowano, aby dodać: Wygląda również na to, że plik sterownika libmyodbc.so nie istnieje w tej wersji Ubuntu.

Ernie
źródło
spróbuj apt-cache search libmyodbcwyświetlić listę pakietów o podobnej nazwie. O tym właśnie mówi „odniesienie do innego pakietu”. Lub sprawdź, czy jest wymieniony w synaptic. Nie zapomnij o tym apt-get updateprzed instalacją / aktualizacją pakietów za pomocą apt.
Lord_PedantenStein
Nie przejmuję się apt-cache, po prostu przeszukuję paczki.ubuntu.com .
Ernie,
Tak czy inaczej, libmyodbcnie istnieje dla 16.04.
edwinksl,
Chłodny. Jak uzyskać ODBC działający w dniu 16.04? Mam oprogramowanie, które absolutnie tego wymaga.
Ernie,

Odpowiedzi:

9

Pobierz bezpośrednio z dev.mysql.com: https://dev.mysql.com/downloads/connector/odbc/

Wybierz Ubuntu 16,04 64 bit lub 32 bit (prawdopodobnie 64 bit), pobierz piłkę TAR, a następnie skopiować plik libmyodbc5a.sodo/usr/lib/x86_64-linux-gnu/odbc/

następnie utwórz /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

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

Zauważ, że znacznik nazwy użytkownika to Użytkownik (a nie nazwa użytkownika, jak widać w niektórych przykładach), a gniazdo jest pod /var/runi nie pod/var/lib

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

potem pracował dla mnie

cerien
źródło
1
Należy pamiętać, że proponowany plik odbcinst.ini dotyczy wersji ANSI sterownika. Jeśli potrzebujesz znaków UNICODE, lepiej skorzystać z wersji UNICODE: libmyodbc5w.so (w wierszu sterownika)
Marc Vanhoomissen
Dziękuję za odpowiedź. Działa jak urok w Ubuntu 16.04
e_soroush
Na wypadek, gdyby ktoś inny napotkał problem, który trafiłem: „najnowszy” na dzień 01.09.2018 był w wersji 8.12. W obu z nich napotkałem błąd i próbowałem użyć wersji 5.X. Ale na stronie dev.mysql.com dostępna była tylko wersja 8.12 lub 5.11. Przeszukałem internet w poszukiwaniu wersji 5.10, która byłam prawie pewna, że ​​zadziała, i znalazłam ją na lustrze FTP. Jest ich wiele, głównie na uniwersytetach. Krótko mówiąc: aby obniżyć wersję downgrade, spróbuj googlować „mysql ftp mirror”
JDS
2

Pakiet jest dostępny dla Xenial i można go zobaczyć tutaj . Dlatego powinien się zainstalować. Upewnij się, że uruchomiłeś sudo apt-get updateprzed instalacją. Upewnij się również, że wszechświatowe repozytorium dla Xenial jest częścią twoich źródeł (jak pokazuje powyższy link, ten pakiet należy do repozytorium wszechświatowego ). Możesz sprawdzić, czy to źródło jest częścią dostępnych źródeł w etc/apt/sources.listpliku. Powinna istnieć linia taka jak:

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

(Lustro może być inne niż com.archive...)

Jeśli nadal nie możesz go zainstalować (co jest dziwne), przejdź do powyższej witryny, wybierz wersję architektury i pobierz plik .deb. Na przykład dla amd64 plik jest następujący: http://launchpadlibrarian.net/141005765/libmyodbc_5.1.10-3_amd64.deb . Następnie otwórz terminal, przejdź do folderu zawierającego plik i uruchom:

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

(To ostatnie polecenie jest w przypadku, gdy niektóre zależności są niespełnione)


źródło
4
Pakiet kiedyś istniał, ale został usunięty z universerepozytorium, jak widać z jego historii publikowania na launchpad.net/ubuntu/+source/myodbc/5.1.10-3/+publishinghistory . Przyczynę jego usunięcia podano na stronie bugs.launchpad.net/ubuntu/+source/myodbc/+bug/1564856 . Włączenie universerepo nie pomogłoby. Pakiet jest „dostępny” w bardzo szczególnym tego słowa znaczeniu, tzn. Że jego .debplik przed usunięciem jest dostępny. Można zainstalować .debplik za pomocą sudo dpkg -i, ale pakiet nie był utrzymywany przez pewien czas i prawdopodobnie jest uszkodzony.
edwinksl,
2

Znalazłem go w http://dev.mysql.com/downloads/connector/odbc/ (wybrałem „Ubuntu Linux 15.10 (x86, 64-bit), skompresowane archiwum TAR”)

Pobierz i wypakuj pliki, a następnie otrzymasz libmyodbc5a.so (dla systemu ANSI) i libmyodbc5w.so (dla Unicode).

Demmie
źródło