MariaDB에서 ODBC를 사용할 수 없습니다.

MariaDB에서 ODBC를 사용할 수 없습니다.

리눅스 민트 20(우분투 20).

MariaDB 버전: "mariadb 버전 15.1 Debian-linux-gnu(x86_64)용 Distrib 10.7.3-MariaDB, 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

관련 정보