Ubuntu 16.04 LTS installieren: Wie installiere ich ODBC?

15

Nach der Installation einer neuen Version von Ubuntu 16.04 habe ich versucht, MySQL ODBC gemäß der offiziellen Dokumentation unter https://help.ubuntu.com/community/ODBC zu installieren :

# 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

Ich kann sehen, dass dies ein großartiger Start ist!

Das Durchsuchen des Paket-Repositorys nach ODBC war ebenfalls nicht besonders hilfreich. Dies ist ein sehr wichtiger Bestandteil eines modernen Linux-Systems! Wo ist es hin?!

PS: Ein Update der Dokumentation unter help.ubuntu.com wäre auch nett!

Bearbeitet, um hinzuzufügen: Außerdem scheint es, dass die Treiberdatei libmyodbc.so in dieser Version von Ubuntu nicht existiert.

Ernie
quelle
versuchen Sie apt-cache search libmyodbc, Pakete mit einem ähnlichen Namen aufzulisten. Darum geht es in dem Artikel "Auf den ein anderes Paket verweist". Oder überprüfen Sie, ob es in synaptic aufgeführt ist. Vergessen Sie nicht, apt-get updatebevor Sie Pakete mit apt installieren / aktualisieren.
Lord_PedantenStein
Ich kümmere mich nicht um apt-cache, ich suche einfach unter packages.ubuntu.com .
Ernie
So oder so, libmyodbcexistiert nicht für den 16.04.
Edwinksl
Cool. Wie bekomme ich ODBC am 16.04 zum Laufen? Ich habe Software, die es unbedingt benötigt.
Ernie

Antworten:

9

Laden Sie direkt von dev.mysql.com herunter: https://dev.mysql.com/downloads/connector/odbc/

Wählen Sie Ubuntu 16.04 64-Bit oder 32-Bit (wahrscheinlich 64-Bit), laden Sie den TAR-Ball herunter und kopieren Sie die Datei libmyodbc5a.sonach/usr/lib/x86_64-linux-gnu/odbc/

dann erschaffe /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

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

Beachten Sie, dass das username-Tag User ist (und nicht username, wie in einigen Beispielen gezeigt) und der Socket unter /var/runund nicht unter ist/var/lib

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

dann arbeitete für mich

cerien
quelle
1
Bitte beachten Sie, dass die vorgeschlagene Datei odbcinst.ini für die ANSI-Version des Treibers gilt. Wenn Sie UNICODE-Zeichen benötigen, sind Sie mit der UNICODE-Version besser dran: libmyodbc5w.so (in der
Fahrerzeile
Danke für deine Antwort. Es funktioniert wie ein Zauber in Ubuntu 16.04
e_soroush
Nur für den Fall, dass jemand anderes das Problem trifft, das ich getroffen habe: Der "neueste" Stand vom 01.09.2018 war v8.12. In beiden Fällen ist der letzte Fehler aufgetreten, und ich habe versucht, die 5.X-Version zu verwenden. Auf der Website dev.mysql.com waren jedoch nur 8.12 oder 5.11 verfügbar. Ich durchsuchte das Internet nach der Version 5.10, von der ich mir ziemlich sicher war, dass sie funktionieren würde, und fand sie auf einem FTP-Spiegel. Davon gibt es eine Reihe, hauptsächlich an Universitäten. Also, um es kurz zu machen:
JDS
2

Das Paket ist für Xenial verfügbar und kann hier eingesehen werden . Daher sollte es installiert werden. Stellen Sie sicher, dass Sie sudo apt-get updatevor der Installation eine ausführen . Stellen Sie außerdem sicher, dass das Universums- Repository für Xenial Teil Ihrer Quellen ist (wie der obige Link zeigt, gehört dieses Paket zum Universums- Repository). Sie können überprüfen, ob diese Quelle Teil Ihrer verfügbaren Quellen in der etc/apt/sources.listDatei ist. Es sollte eine Zeile wie folgt vorhanden sein:

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

(Der Spiegel könnte anders sein als com.archive...)

Wenn Sie es immer noch nicht installieren können (was seltsam ist), gehen Sie zur obigen Website, wählen Sie Ihre Architekturversion und laden Sie die .deb-Datei herunter. Für amd64 lautet die Datei beispielsweise wie folgt: http://launchpadlibrarian.net/141005765/libmyodbc_5.1.10-3_amd64.deb . Öffnen Sie dann ein Terminal, wechseln Sie in den Ordner, der die Datei enthält, und führen Sie Folgendes aus:

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

(Letzterer Befehl gilt für den Fall, dass einige Abhängigkeiten nicht erfüllt sind.)


quelle
4
Das Paket verwendet zu existieren, aber es wurde von dem gelöschten universeRepo wie man es von seiner Verlagsgeschichte sehen launchpad.net/ubuntu/+source/myodbc/5.1.10-3/+publishinghistory . Der Grund für die Entfernung ist unter bugs.launchpad.net/ubuntu/+source/myodbc/+bug/1564856 angegeben . Das universeRepo zu aktivieren würde nicht helfen. Das Paket ist "verfügbar" in einem ganz bestimmten Sinne des Wortes, dh, dass seine .debDatei vor dem Entfernen verfügbar ist. Man kann die Installationsdatei.deb mit sudo dpkg -i, aber das Paket wurde für eine Weile nicht gepflegt und ist wahrscheinlich gebrochen.
Edwinksl
2

Ich habe es in http://dev.mysql.com/downloads/connector/odbc/ gefunden (ich habe "Ubuntu Linux 15.10 (x86, 64-bit), Compressed TAR Archive" ausgewählt)

Laden Sie es herunter und extrahieren Sie Dateien, dann erhalten Sie libmyodbc5a.so (für ANSI-System) und libmyodbc5w.so (für Unicode).

Demmie
quelle