Installer Ubuntu 16.04 LTS: Comment installer ODBC?

16

Après avoir installé une nouvelle copie d'Ubuntu 16.04, j'ai essayé d'installer MySQL ODBC conformément à la documentation officielle sur 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

Je peux voir que c'est un bon départ!

La recherche dans le référentiel de packages pour ODBC n'a pas été particulièrement utile non plus. C'est une partie très importante de tout système Linux moderne! Où est-il allé?!

PS: La mise à jour de la documentation sur help.ubuntu.com serait bien aussi!

Modifié pour ajouter: Il semble également que le fichier de pilote libmyodbc.so n'existe pas sur cette version d'Ubuntu.

Ernie
la source
essayez apt-cache search libmyodbcde répertorier les packages portant un nom similaire. C'est à cela que sert le "référé par un autre paquet". Ou vérifiez s'il est répertorié dans synaptique. N'oubliez pas apt-get updateavant d'installer / mettre à jour les packages avec apt.
Lord_PedantenStein
Je ne me dérange pas avec apt-cache, je recherche juste packages.ubuntu.com .
Ernie
De toute façon, libmyodbcn'existe pas pour 16.04.
edwinksl
Cool. Comment faire fonctionner ODBC le 16.04? J'ai un logiciel qui en a absolument besoin.
Ernie

Réponses:

9

Téléchargez directement depuis dev.mysql.com: https://dev.mysql.com/downloads/connector/odbc/

Sélectionnez Ubuntu 16.04 64 bits ou 32 bits (probablement 64 bits), téléchargez la boule TAR, puis copiez le fichier libmyodbc5a.sosur/usr/lib/x86_64-linux-gnu/odbc/

ensuite, créez /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

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

Notez que la balise de nom d' utilisateur est Utilisateur (et non nom d' utilisateur comme on le voit dans certains exemples) et que le socket est sous /var/runet non sous/var/lib

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

puis a travaillé pour moi

cerien
la source
1
Veuillez noter que le fichier odbcinst.ini tel que proposé concerne la version ANSI du pilote. Si vous avez besoin de caractères UNICODE, vous êtes mieux avec la version UNICODE: libmyodbc5w.so (dans la ligne du pilote)
Marc Vanhoomissen
Merci pour votre réponse. Cela fonctionne comme un charme dans Ubuntu 16.04
e_soroush
Juste au cas où quelqu'un d'autre toucherait le problème, j'ai touché: La "dernière" en date du 2018-09-01 était la v8.12. J'ai rencontré un bogue dans le dernier dans ces deux cas et j'ai essayé d'utiliser la version 5.X. Mais le site dev.mysql.com n'avait que 8.12 ou 5.11 disponibles. J'ai parcouru Internet pour la version 5.10 qui, j'en étais presque sûr, fonctionnerait, et je l'ai trouvée sur un miroir FTP. Il y en a un certain nombre, principalement dans les universités. Donc, histoire courte: pour rétrograder votre rétrogradation, essayez de googler "mysql ftp mirror"
JDS
2

Le package est disponible pour Xenial et vous pouvez le voir ici . Par conséquent, il devrait s'installer. Assurez-vous d'exécuter un sudo apt-get updateavant l'installation. Assurez-vous également que le référentiel d' univers pour Xenial fait partie de vos sources (comme le montre le lien ci-dessus, ce package appartient au référentiel d' univers ). Vous pouvez vérifier que cette source fait partie de vos sources disponibles dans le etc/apt/sources.listfichier. Il devrait y avoir une ligne telle que:

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

(Le miroir pourrait être différent de com.archive...)

Si vous ne pouvez toujours pas l'installer (ce qui est étrange), allez sur le site Web ci-dessus, choisissez votre version d'architecture et téléchargez le fichier .deb. Par exemple, pour amd64, le fichier est celui-ci: http://launchpadlibrarian.net/141005765/libmyodbc_5.1.10-3_amd64.deb . Ensuite, ouvrez un terminal, accédez au dossier contenant le fichier et exécutez:

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

(Cette dernière commande est dans le cas où certaines dépendances ne sont pas satisfaites)


la source
4
Le package existait auparavant , mais il a été supprimé du universeréférentiel comme vous pouvez le voir dans son historique de publication sur launchpad.net/ubuntu/+source/myodbc/5.1.10-3/+publishinghistory . La raison de sa suppression est indiquée sur bugs.launchpad.net/ubuntu/+source/myodbc/+bug/1564856 . L'activation du universedépôt n'aiderait pas. Le package est "disponible" dans un sens très particulier du mot, c'est-à-dire que son .debfichier avant la suppression est disponible. On peut installer le .debfichier avec sudo dpkg -i, mais le paquet n'a pas été maintenu depuis un moment et est probablement cassé.
edwinksl
2

Je l'ai trouvé dans http://dev.mysql.com/downloads/connector/odbc/ (j'ai sélectionné "Ubuntu Linux 15.10 (x86, 64 bits), archive TAR compressée")

Téléchargez-le et extrayez les fichiers, puis vous obtenez libmyodbc5a.so (pour le système ANSI) et libmyodbc5w.so (pour Unicode).

Demmie
la source