安装Ubuntu 16.04 LTS:如何安装ODBC?


16

安装Ubuntu 16.04的新副本后,我尝试根据https://help.ubuntu.com/community/ODBC上的官方文档安装MySQL 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

我可以看到这是一个良好的开端!

搜索软件包存储库中的ODBC也不是特别有用。这是任何现代Linux系统中非常重要的部分!去哪了?!

PS:在help.ubuntu.com上更新文档也很好!

编辑添加:此外,此版本的Ubuntu似乎不存在驱动程序文件libmyodbc.so。


尝试apt-cache search libmyodbc列出名称相似的软件包。这就是“另一个软件包的引用”。或检查它是否在突触中列出。apt-get update使用apt安装/升级软件包之前,请不要忘记。
Lord_PedantenStein

我不理会apt-cache,只搜索packages.ubuntu.com
埃妮

无论哪种方式,libmyodbc对于16.04都不存在。
edwinksl

凉。如何在16.04上使用ODBC?我有绝对需要的软件。
埃妮

Answers:


9

直接从dev.mysql.com下载:https : //dev.mysql.com/downloads/connector/odbc/

选择64位或32位(可能是64位)的Ubuntu 16.04,下载TAR球,然后将文件复制libmyodbc5a.so/usr/lib/x86_64-linux-gnu/odbc/

然后,创建 /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

/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

请注意,用户名标记为User(而不是某些示例中的用户名),并且套接字位于/var/run和之下/var/lib

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

然后为我工作


1
请注意,提议的odbcinst.ini是针对ANSI版本的驱动程序的。如果需要UNICODE字符,最好使用UNICODE版本:(libmyodbc5w.so 在驱动程序行中)
Marc Vanhoomissen

感谢您的回答。它在Ubuntu 16.04中像
超级

以防万一其他人遇到我遇到的问题:截至2018-09-01的“最新”版本为v8.12。在这两种情况中,我都遇到了一个最新的错误,并尝试使用5.X版本。但是dev.mysql.com网站仅提供8.12或5.11。我在Internet上搜索了5.10版本,我确定该版本可以正常工作,然后在FTP镜像上找到它。其中有很多,大多数是在大学。因此,长话短说:降级您的降级,尝试谷歌搜索“ mysql ftp镜像”
JDS

2

该软件包可用于Xenial并且可以看出这里。因此,它应该安装。确保sudo apt-get update在安装前运行A。另外,请确保Xenial 的Universe存储库是您的源代码的一部分(如以上链接所示,此程序包属于Universe存储库)。您可以检查此源是否是etc/apt/sources.list文件中可用源的一部分。应该有一行,例如:

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

(镜子可能与有所不同com.archive...

如果仍然无法安装(很奇怪),请转到上面的网站,选择您的体系结构版本并下载.deb文件。例如,对于amd64,文件就是以下文件:http : //launchpadlibrarian.net/141005765/libmyodbc_5.1.10-3_amd64.deb。然后,打开一个终端,转到包含该文件的文件夹并运行:

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

(如果未满足某些依赖项,则使用后一个命令)


4
该软件包曾经存在,但已从universe仓库中删除,如您在launchpad.net/ubuntu/+source/myodbc/5.1.10-3/+publishinghistory上从其发布历史中所见。删除它的原因在bugs.launchpad.net/ubuntu/+source/myodbc/+bug/1564856中给出。启用存储universe库无济于事。该软件包在单词的非常特殊的意义上是“可用的”,即.deb删除之前的文件可用。可以使用来安装该.deb文件sudo dpkg -i,但是该软件包已经有一段时间没有维护了,并且可能已损坏。
edwinksl

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.