如何在 18.04 中为 MYSQL 和 PostgreSQL 安装和配置最新的 ODBC 驱动程序

如何在 18.04 中为 MYSQL 和 PostgreSQL 安装和配置最新的 ODBC 驱动程序

我目前正在尝试通过 ODBC 管理员 GUI 通过 ODBC 连接访问一些 MYSQL 和 PostgreSQL 数据库,就像我在 Windows 上所做的那样。经过一番搜索,我只找到了关于在 Ubuntu 上安装和设置 ODBC 连接的零散且旧的教程。

有人能帮我提供更新的说明吗?因为我在精密的生产环境中工作,所以我最不想发生的事就是搞砸。提前谢谢了。

答案1

您应该始终定期将生产环境复制到测试环境,用于用户培训和您自己的开发环境。您不希望您的试验和错误影响生产(公司的底线)或用户培训(他们每天已经面临足够的挑战,不会把他们的世界搞得一团糟)。

话虽如此,这里有一些较新的 ODBC(开放数据库连接)教程供您使用:

答案2

此答案仅说明如何安装 MySQL ODBC 驱动程序。我猜对于 Postgres,您必须向 Postgres 询问驱动程序。有关更多信息,请参阅此页面:http://www.unixodbc.org/,主题为“司机”。

  1. 安装 UnixODBC

sudo apt 安装 unixodbc

  1. 从此处的 MySQL 获取并安装 MySQL 驱动程序:https://dev.mysql.com/downloads/connector/odbc/。这将创建文件libmyodbc5X(其中 X 取决于已安装的驱动程序)和libodbcmy.so/usr/lib/x86_64-linux-gnu/odbc第一个是驱动程序,第二个是管理驱动程序(不是很有用)。

  2. 在 中创建两个文件/etcodbcinst.iniodbc.ini 第一个文件包含可用驱动程序的规范。在您的例子中,将有两个驱动程序,一个用于 MySQL,另一个用于 Postgres。第二个文件是数据库源名称的集合。每个文件至少指定一个名称(在括号 [] 之间)和一个驱动程序名称。

例如,我的odbcinst.ini包含:

[MySQL]
Description= MySQL ODBC Driver
Driver=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc5w.so    
Usagecount=1

并且我的odbc.ini包含两个条目,一个用于生产数据库,一个用于测试

[Prod]
Description = Production DB
Driver = MySQL
SERVER = 127.0.0.1
USER = youruser
PASSWORD = yourpassword
PORT = 3306
DATABASE = prodDB

[TestDB]
Description = Test DB
Driver = MySQL
SERVER = 127.0.0.1
USER = youruser
PASSWORD = your password
PORT = 3306
DATABASE = test

从此以后,您只需使用 DSN 名称(Prod 或 TestDB)即可进行连接。当然,将您的用户名/密码放在其他地方可能是明智之举。连接 DSN 的具体方式取决于您使用的编程语言/开发工具。

答案3

我似乎无法从这里安装 Ubuntu 20 的 4 个驱动程序中的任何一个:https://dev.mysql.com/downloads/connector/odbc/

但是我确实在 /usr/lib/x86_64-linux-gnu/odbc/ 目录中有一个文件列表:

-rw-r--r--  1 root root 14304 Jan 14  2019 libesoobS.so
-rw-r--r--  1 root root 14264 Jan 14  2019 libmimerS.so
-rw-r--r--  1 root root 88992 Jan 14  2019 libnn.so
-rw-r--r--  1 root root 14200 Jan 14  2019 libodbcdrvcfg1S.so
-rw-r--r--  1 root root 14176 Jan 14  2019 libodbcdrvcfg2S.so
-rw-r--r--  1 root root 14200 Jan 14  2019 libodbcminiS.so
-rw-r--r--  1 root root 14232 Jan 14  2019 libodbcmyS.so
-rw-r--r--  1 root root 14200 Jan 14  2019 libodbcnnS.so
-rw-r--r--  1 root root 14296 Jan 14  2019 libodbcpsqlS.so
-rw-r--r--  1 root root 14240 Jan 14  2019 libodbctxtS.so
-rw-r--r--  1 root root 14600 Jan 14  2019 liboplodbcS.so
-rw-r--r--  1 root root 14176 Jan 14  2019 liboraodbcS.so
-rw-r--r--  1 root root 14304 Jan 14  2019 libsapdbS.so
-rw-r--r--  1 root root 14176 Jan 14  2019 libtdsS.so

它们中的任何一个都可以在 odbcinst.ini 文件中使用吗?

当我尝试安装这 4 个 deb 文件中的任何一个时,出现此错误:

以下软件包具有未满足的依赖项:mysql-connector-odbc-dbgsym:依赖:mysql-connector-odbc(= 8.0.32-1ubuntu20.04)但无法安装 E:无法纠正问题,您持有损坏的软件包。

谢谢。

相关内容