无法让 ODBC 与 MariaDB 一起使用

无法让 ODBC 与 MariaDB 一起使用

Linux Mint 20(Ubuntu 20)。

MariaDB 版本:“mariadb Ver 15.1 Distrib 10.7.3-MariaDB,适用于 debian-linux-gnu (x86_64),使用 readline 5.2”

我想使用 ODBC 运行 LibreOffice Base 作为前端。

我尝试按照 MariaDB 说明进行操作这里

我已将文件 libmaodbc.so 放在 /usr/lib64/ 中。我相信这是主要的连接器文件。

我制作了一个文件 /etc/odbcinst.ini 如下:

[MariaDB]
Description=MariaDB Connector/ODBC v.3.0
Driver=/usr/lib64/libmaodbc.so
UsageCount=1

和文件 /etc/odbc.ini 如下:

[localdb]
Description           = MariaDB connection to  database
Driver                = MariaDB
Database              = localdb
Server                = localhost
User                  = root
Password              = root
Port                  = 3306
Socket                = /var/run/mysqld/mysqld.sock

当我尝试使用 LO Base 进行连接时,会看到此 ODBC 条目“localdb”。但是当我测试连接时我得到:

"[unixODBC][Driver Manager]Data source name not found, and no default driver specified"

“数据源名称”? “默认驱动程序”?

有人知道我应该做什么吗?我的理论是 odbc.ini 文件引用 odbcinst.ini 文件,该文件又驱动 libmaodbc.so 文件。

注意,如果我尝试实际建立连接,即获取 LO Base 数据库中的表列表,我得到

“无法建立与数据源“xxx”*的连接
[ma-3.1.15]无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地服务器(13)”

* 即 LO 基本文件名减去“.odb”扩展名。

还要检查我的套接字(MariaDB 服务正在运行):

mike@M17A:~/MariaDB_files$ netstat -ln | grep mysql
unix  2      [ ACC ]     STREAM     LISTENING     263752   /var/run/mysqld/mysqld.sock

...有趣:似乎表明套接字还活着并且运行良好。

还有我使用 CLI 进行连接isql localdb:这是否表明一切设置正常?

答案1

该库位于lib64中,因此我们可以猜测它是64位版本,但它定义为32位。

检查你的文件夹,/usr/lib/它应该也有 libmaodbc.so 文件,但它是 32 位版本。

然后修改驱动定义为:

[MariaDB]
Description=MariaDB Connector/ODBC v.3.0
Driver=/usr/lib/libmaodbc.so
Driver64=/usr/lib64/libmaodbc.so
UsageCount=1

相关内容