我目前正在尝试通过 ODBC 管理员 GUI 通过 ODBC 连接访问一些 MYSQL 和 PostgreSQL 数据库,就像我在 Windows 上所做的那样。经过一番搜索,我只找到了关于在 Ubuntu 上安装和设置 ODBC 连接的零散且旧的教程。
有人能帮我提供更新的说明吗?因为我在精密的生产环境中工作,所以我最不想发生的事就是搞砸。提前谢谢了。
答案1
您应该始终定期将生产环境复制到测试环境,用于用户培训和您自己的开发环境。您不希望您的试验和错误影响生产(公司的底线)或用户培训(他们每天已经面临足够的挑战,不会把他们的世界搞得一团糟)。
话虽如此,这里有一些较新的 ODBC(开放数据库连接)教程供您使用:
答案2
此答案仅说明如何安装 MySQL ODBC 驱动程序。我猜对于 Postgres,您必须向 Postgres 询问驱动程序。有关更多信息,请参阅此页面:http://www.unixodbc.org/,主题为“司机”。
- 安装 UnixODBC
sudo apt 安装 unixodbc
从此处的 MySQL 获取并安装 MySQL 驱动程序:https://dev.mysql.com/downloads/connector/odbc/。这将创建文件
libmyodbc5X
(其中 X 取决于已安装的驱动程序)和libodbcmy.so
。/usr/lib/x86_64-linux-gnu/odbc
第一个是驱动程序,第二个是管理驱动程序(不是很有用)。在 中创建两个文件
/etc
:odbcinst.ini
和odbc.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:无法纠正问题,您持有损坏的软件包。
谢谢。