首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Linux 下 MySQL 與 OpenOffice 整合實戰:兩種 ODBC 配置方案完整紀錄

     編輯:MySQL 資料庫相關知識

背景動機

從 Windows + Access 轉移至 Linux + MySQL 時,缺乏圖形化管理工具是最大痛點。OpenOffice 支援透過「資料源」連接各類資料庫,配合 ODBC 驅動即可實現 MySQL 的視覺化操作(建表、查詢、列印標籤等)。

環境

  • OS:Red Hat 8.0
  • 需套件:MySQL、unixODBC、MyODBC(OpenOffice 預裝)

方案一:手動編譯安裝(高彈性、高複雜度)

1. 下載套件

MySQL-3.23.55-pc-Linux-i686.tar.gz
MySQL-client-3.23.55-1.i386.rpm
MySQL-shared-3.23.55-1.i386.rpm
MyODBC-2.50.39-1.i386.rpm
unixODBC-2.2.4.tar.gz

下載源:MySQL 鏡像站、unixODBC 官網

2. 移除舊版並安裝 MySQL

rpm -qa | grep -i mysql
rpm -e (所有舊套件)
cd /usr/local
tar xzf MySQL-3.23.55-pc-Linux-i686.tar.gz
ln -s MySQL-3.23.55-pc mysql
cd mysql
scripts/mysql_install_db
chown -R root .
chown -R mysql data
chgrp -R mysql .
bin/safe_mysqld --user=mysql &

驗證:./mysql -utest 進入監視器,執行 select version(); 確認版本。

3. 安裝 RPM 套件

rpm -Uvh MySQL-client-3.23.55-1.i386.rpm
rpm -Uvh MySQL-shared-3.23.55-1.i386.rpm
rpm -Uvh MyODBC-2.50.39-1.i386.rpm

4. 編譯安裝 unixODBC

tar xzf unixODBC-2.2.5.tar.gz
cd unixODBC-2.2.5
su
./configure
make
make install

坑點: 需先安裝 KDE SDK(含 Qt)與 X SDK,否則 configure 失敗。可用 Red Hat 套件管理器安裝。

5. 修正 ODBC 設定檔

編輯 /etc/odbcinst.ini:

[MySQL]
Description = ODBC Driver for MySQL
Driver = /usr/local/lib/libmyodbc.so
Setup = /usr/local/lib/libodbcmyS.so
FileUsage = 1

編輯 /etc/odbc.ini:

[MySQL-test]
Description = MySQL database test
Driver = MySQL
Server = localhost
Database = test
Port = 3306
Socket =
Option =
Stmt =

將兩檔複製至 /usr/local/etc/(unixODBC 實際讀取路徑)。

6. 解決 Socket 路徑不符

MySQL 預設 socket 在 /tmp/mysql.sock,ODBC 卻找 /var/lib/mysql/mysql.sock。解法:

mkdir -p /var/lib/mysql
chown -R mysql.mysql /var/lib/mysql
bin/safe_mysqld --user=mysql --socket=/var/lib/mysql/mysql.sock &

7. 測試連線

isql MySQL-test -v
# 成功顯示 Connected! 並可執行 select version();

8. OpenOffice 設定

  • 啟動 Writer → 工具 → 資料源 (F4)
  • 右鍵新增資料源 → 類型選 MySQL (ODBC) → 填入 DSN、用戶 root、密碼
  • 若提示找不到 libodbc.so,執行:cp /usr/local/lib/libodbc.so /usr/lib/

方案二:使用 up2date 自動解決相依性(較簡單)

# 1. 安裝 MySQL 核心與開發套件
up2date mysql mysql-server mysql-devel

# 2. 初始化與權限
/usr/bin/mysql_install_db
chown -R mysql.mysql /var/lib/mysql
chmod -R 666 /var/lib/mysql
/usr/bin/safe_mysqld -u mysql &

# 3. 安裝 unixODBC
up2date unixODBC unixODBC-devel

# 4. 從源碼重建 MyODBC
up2date --src MyODBC
rpmbuild --rebuild /var/spool/up2date/MyODBC-2.50.39-7.src.rpm
rpm -Uvh --force /usr/src/redhat/RPMS/i386/MyODBC-2.50.39-7.i386.rpm

# 5. 參考方案一修改 odbc.ini / odbcinst.ini

實戰心得與避坑指南

  • 列印標籤「Too many connections」: 每個標籤佔一連線。解法:my.cnf 加入 set-variable = max_connections=200,並以 mysql 身分(非 root)啟動 mysqld。
  • OpenOffice 幫助文件有誤,需靠社群經驗修正。
  • 方案一雖繁雜但可掌控細節;方案二依賴 RHN,若系統殘留舊套件易衝突。
  • 建議正式部署前先在測試機完整跑一次流程。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved