Installazione di Ubuntu 16.04 LTS: come installare ODBC?


16

Dopo aver installato una nuova copia di Ubuntu 16.04, ho provato a installare MySQL ODBC secondo la documentazione ufficiale su 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

Vedo che questo sta iniziando alla grande!

Anche la ricerca nel repository di pacchetti per ODBC non è stata particolarmente utile. Questa è una parte molto importante di qualsiasi sistema Linux moderno! Dov'è andato?!

PS: Anche l'aggiornamento della documentazione su help.ubuntu.com sarebbe bello!

Modificato per aggiungere: Inoltre, sembra che il file del driver libmyodbc.so non esista su questa versione di Ubuntu.


prova apt-cache search libmyodbca elencare i pacchetti con un nome simile. Questo è il "riferimento a un altro pacchetto". Oppure controlla se è elencato in sinaptico. Non dimenticare di apt-get updateprima di installare / aggiornare i pacchetti con apt.
Lord_PedantenStein,

Non mi preoccupo di apt-cache, cerco solo pacchetti.ubuntu.com .
Ernie

Ad ogni modo, libmyodbcnon esiste per il 16.04.
edwinksl,

Freddo. Come faccio a far funzionare ODBC su 16.04? Ho un software che lo richiede assolutamente.
Ernie

Risposte:


9

Scarica direttamente da dev.mysql.com: https://dev.mysql.com/downloads/connector/odbc/

Seleziona Ubuntu 16.04 64 bit o 32 bit (probabilmente 64 bit), scarica la sfera TAR, quindi copia il file libmyodbc5a.soin/usr/lib/x86_64-linux-gnu/odbc/

quindi, crea /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

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

Nota che il tag username è User (e non username come visto in alcuni esempi) e il socket è sotto /var/rune non sotto/var/lib

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

poi ha lavorato per me


1
Si noti che odbcinst.ini come proposto è per la versione ANSI del driver. Se hai bisogno di personaggi UNICODE, stai meglio con la versione UNICODE: libmyodbc5w.so (nella linea del conducente)
Marc Vanhoomissen

Grazie per la tua risposta. Funziona come un fascino in Ubuntu 16.04
e_soroush

Nel caso in cui qualcun altro incontri il problema che ho riscontrato: l '"ultimo" del 01/09/2018 era la v8.12. Ho riscontrato un bug in entrambi questi ultimi e ho provato a utilizzare la versione 5.X. Ma il sito dev.mysql.com aveva solo 8.12 o 5.11 disponibili. Ho cercato su Internet la versione 5.10 che ero sicuro che avrebbe funzionato e l'ho trovata su un mirror FTP. Ce ne sono alcuni, soprattutto nelle università. Quindi, per farla breve: per effettuare il downgrade del downgrade, prova a cercare "mysql ftp mirror"
JDS

2

Il pacchetto è disponibile per Xenial e può essere visto qui . Pertanto, dovrebbe essere installato. Assicurati di eseguire un sudo apt-get updateprima di installare. Inoltre, assicurati che il repository universe per Xenial sia parte delle tue fonti (come mostra il link sopra, questo pacchetto appartiene al repository universe ). Puoi verificare che questa fonte faccia parte delle tue fonti disponibili nel etc/apt/sources.listfile. Dovrebbe esserci una linea come:

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

(Lo specchio potrebbe essere diverso da com.archive...)

Se ancora non riesci a installarlo (il che è strano), vai sul sito Web sopra, scegli la versione dell'architettura e scarica il file .deb. Ad esempio, per amd64, il file è questo: http://launchpadlibrarian.net/141005765/libmyodbc_5.1.10-3_amd64.deb . Quindi, apri un terminale, vai alla cartella contenente il file ed esegui:

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

(Quest'ultimo comando è nel caso in cui alcune dipendenze non siano soddisfatte)


4
Il pacchetto utilizzato per esistere, ma è stato eliminato dal universerepo come si può vedere dalla sua storia editoriale di launchpad.net/ubuntu/+source/myodbc/5.1.10-3/+publishinghistory . Il motivo della sua rimozione è indicato su bugs.launchpad.net/ubuntu/+source/myodbc/+bug/1564856 . Abilitare il universerepository non sarebbe d'aiuto. Il pacchetto è "disponibile" in un senso molto particolare della parola, ovvero che è disponibile il suo .debfile prima della rimozione. Si può installare il .debfile con sudo dpkg -i, ma il pacchetto non è stato mantenuto per un po 'e probabilmente è rotto.
edwinksl,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.