Instalación de Ubuntu 16.04 LTS: ¿Cómo instalar ODBC?

16

Después de instalar una nueva copia nueva de Ubuntu 16.04, intenté instalar MySQL ODBC según la documentación oficial en 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

¡Puedo ver que esto está teniendo un gran comienzo!

Buscar en el repositorio de paquetes ODBC tampoco ha sido particularmente útil. ¡Esta es una parte muy importante de cualquier sistema Linux moderno! ¡¿A donde se fué?!

PD: ¡Actualizar la documentación en help.ubuntu.com también sería bueno!

Editado para agregar: Además, parece que el archivo de controlador libmyodbc.so no existe en esta versión de Ubuntu.

Ernie
fuente
intente apt-cache search libmyodbcenumerar paquetes con un nombre similar. De esto se trata el "referido por otro paquete". O verifique si está en la lista sináptica. No olvide apt-get updateantes de instalar / actualizar paquetes con apt.
Lord_PedantenStein
No me molesto con apt-cache, solo busco paquetes.ubuntu.com .
Ernie
De cualquier manera, libmyodbcno existe para 16.04.
edwinksl
Frio. ¿Cómo hago que ODBC funcione en 16.04? Tengo un software que lo requiere absolutamente.
Ernie

Respuestas:

9

Descargar directamente desde dev.mysql.com: https://dev.mysql.com/downloads/connector/odbc/

Seleccione Ubuntu 16.04 64 bit o 32 bit (probablemente 64 bit), descargue la bola TAR y luego copie el archivo libmyodbc5a.soa/usr/lib/x86_64-linux-gnu/odbc/

luego, 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

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

Tenga en cuenta que la etiqueta de nombre de usuario es Usuario (y no nombre de usuario como se ve en algunos ejemplos) y el zócalo está debajo /var/runy no debajo/var/lib

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

entonces trabajó para mí

cerien
fuente
1
Tenga en cuenta que odbcinst.ini como se propone es para la versión ANSI del controlador. Si necesita caracteres UNICODE, es mejor que tenga la versión UNICODE: libmyodbc5w.so (en la línea del controlador)
Marc Vanhoomissen
Gracias por tu respuesta. Funciona como un encanto en Ubuntu 16.04
e_soroush
En caso de que alguien más se encuentre con el problema, lo "último" a partir del 2018-09-01 fue v8.12. Encontré un error en el último de estos dos e intenté usar la versión 5.X. Pero el sitio dev.mysql.com solo tenía 8.12 o 5.11 disponibles. Busqué en Internet la versión 5.10, que estaba bastante segura de que funcionaría, y la encontré en un espejo FTP. Hay varios de ellos, principalmente en las universidades. Así que, para resumir: para rebajar su rebaja, intente buscar en Google "mysql ftp mirror"
JDS
2

El paquete está disponible para Xenial y se puede ver aquí . Por lo tanto, debe instalarse. Asegúrese de ejecutar un sudo apt-get updateantes de instalar. Además, asegúrese de que el repositorio del universo para Xenial sea parte de sus fuentes (como se muestra en el enlace anterior, este paquete pertenece al repositorio del universo ). Puede verificar que esta fuente sea parte de sus fuentes disponibles en el etc/apt/sources.listarchivo. Debe haber una línea como:

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

(El espejo podría ser diferente de com.archive...)

Si aún no puede instalarlo (lo cual es extraño), vaya al sitio web anterior, elija su versión de arquitectura y descargue el archivo .deb. Por ejemplo, para amd64, el archivo es este: http://launchpadlibrarian.net/141005765/libmyodbc_5.1.10-3_amd64.deb . Luego, abra una terminal, vaya a la carpeta que contiene el archivo y ejecute:

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

(El último comando es en caso de que algunas dependencias no estén satisfechas)


fuente
44
El paquete solía existir, pero se ha eliminado del universerepositorio como se puede ver en su historial de publicaciones en launchpad.net/ubuntu/+source/myodbc/5.1.10-3/+publishinghistory . El motivo de su eliminación se encuentra en bugs.launchpad.net/ubuntu/+source/myodbc/+bug/1564856 . Habilitar el universerepositorio no ayudaría. El paquete está "disponible" en un sentido muy particular de la palabra, que es que su .debarchivo antes de la eliminación está disponible. Uno puede instalar el .debarchivo sudo dpkg -i, pero el paquete no se ha mantenido por un tiempo y probablemente esté roto.
edwinksl
2

Lo encontré en http://dev.mysql.com/downloads/connector/odbc/ (seleccioné "Ubuntu Linux 15.10 (x86, 64-bit), Archivo comprimido TAR")

Descargue y extraiga archivos, luego obtendrá libmyodbc5a.so (para el sistema ANSI) y libmyodbc5w.so (para Unicode).

Demmie
fuente