萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> 如何才能讓MySQL與OpenOffice共舞

如何才能讓MySQL與OpenOffice共舞

class="21393">

一年前,我成為了Linux用戶的一員,但是多年使用Windows,讓我覺得Linux有的工具使用不很習慣。就拿數據庫來說,在Windows下,開發一些數據庫驅動的網站或者小型管理系統時可以選擇使用Access。Access不僅易於使用,而且非常方便。轉到Linux上後,做同樣事情時發現MySQL是一個不錯的選擇,但其沒有圖形界面,使用起來不是很方便,於是希望能夠找到解決的方案。經過一段時間的探尋,終於找到了解決辦法,即把MySQL和OpenOffice結合使用。根據資料顯示,實現MySQL和OpenOffice協同工作的方法有很多種,不過大都過於復雜,難於實現。在此我介紹兩種安裝和配置過程。

我使用的操作系統是Red Hat 8.0,同樣的方法用於其它的發行版可能稍有不同。在安裝配置過程中,需要MySQL和unixODBC軟件包(OpenOffice缺省情況下已經安裝好了)。這些軟件包在Red Hat 8.0的光盤中都已經自帶,但在我的測試中,使用安裝盤的方法似乎無法成功。

安裝配置方法一

1.下載軟件

所需要的軟件包有:

  
  mysql-3.23.55-pc-linux-i686.tar
  
  MySQL-client-3.23.55-1.i386
  
  MySQL-shared-3.23.55-1.i386
  
  MyODBC-2.50.39-1.i386
  
  unixODBC-2.2.4.tar

  
這些軟件包可分別可從以下站點下載:
  http://mirrors.sunsite.dk/mysql/Downloads/MySQL-3.23/
  http://mysql.azc.uam.mx/Downloads/MyODBC/
  http://www.unixodbc.org

上面所列的是我感覺速度比較快的站點,事實上在很多鏡像站點都可以下載到這些軟件包。

2.安裝軟件

使用以下命令(以root身份)來查看以前是否安裝過:


  
  rpm -qa   grep -i mysql
  
  rpm -e (發現的所有軟件包)
  
  updatedb
  
  rpm -qa   grep -i odbc
  
  rpm -e (所有發現的軟件包)

  
切換至下載的軟件包所在的目錄,以root用戶的身份執行以下命令:

 

 
  $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會話:

 

 
  $./mysql -utest
  
  Welcome to the MySQL monitor. Commands end with ; or g.
  
  Your MySQL connection id is 1 to server version: 3.23.55
  
  Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

  
這說明MySQL已經成功安裝,現在輸入:

 

 
  mysql> select version();
  
  +-----------+
  
  version()
  
  +-----------+
  
  3.23.55
  
  +-----------+
  
  1 row in set (0.01 sec)

  
使用命令“s”來查看一些基本信息:


  
  mysql> s
  
  --------------
  
  ./mysql Ver 11.18 Distrib 3.23.55, for pc-linux (i686)
  
  Connection id: 4
  
  Current database:
  
  Current user: test@localhost
  
  Current pager: stdout
  
  Using outfile: ''
  
  Server version: 3.23.55
  
  Protocol version: 10
  
  Connection: Localhost via UNIX socket
  
  Client characterset: latin1
  
  Server characterset: latin1
  
  UNIX socket: /tmp/mysql.sock
  
  Uptime: 6 min 57 sec
  
  Threads: 1 Questions: 6 Slow queries: 0 Opens: 6 Flush tables:
  
  1 Open tables: 0 Queries per second avg: 0.014

為了實現我們的目的,需要安裝另外三個軟件包。和MySQL不同的是,這三個軟件都是以RPM的格式給出的。切換至軟件包所在的目錄,運行以下命令:


  
  [root@myserver odbc]#su
  
  [root@myserver odbc]# rpm -Uvh MySQL-client-3.23.55-1.i386.rpm
  
  Preparing... ########################################### [100%]
  
  1:MySQL-client ########################################### [100%]
  
  [root@myserver odbc]# rpm -Uvh MySQL-shared-3.23.55-1.i386.rpm
  
  Preparing... ########################################### [100%]
  
  1:MySQL-shared ########################################### [100%]
  
  [root@myserver odbc]# rpm -Uvh MyODBC-2.50.39-1.i386.rpm
  
  Preparing... ########################################### [100%]
  
  1:MyODBC ########################################### [100%]

  
這些軟件包的安裝一般都不會有什麼問題。下面來安裝unixODBC。在我寫本文時最新的unixODBC是2.2.5版,提供下載的文件是unixODBC-2.2.5.tar.gz。切換至軟件包所在目錄,運行以下命令:


  
  tar xzf unixODBC-2.2.5.tar.gz

  
切換至unixODBC-2.2.5目錄,運行下述命令:


  
  su
  
  ./configure
  
  make
  
  make install

  
但是,這個安裝過程並不順利,出現了一些問題。首先是一些庫文件的位置問題,這兩個庫文件是libodbcmyS.so和libmyodbc.so,它們一般位於/usr/local/lib目錄之下。而在安裝過程中,odbcinst.ini配置文件中指示這兩個文件的位置卻在usr/lib目錄之下。所以需要對/etc/odbcinst.ini文件進行一些編輯。編輯完成後,我的odbcinst.ini文件內容如下所示:

 

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

  
然後再創建一個/etc/odbc.ini文件,內容如下所示:

 

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

但是,當我按照手冊完成這個文件時,發現原來unixODBC已經建好了這個文件,不過它不在/etc目錄之下,而是在/usr/local/etc目錄下。於是我把上述兩個編輯好的文件拷貝至該目錄中。

此外,安裝庫unixODBC時還需要KDE軟件開發工具包(其中已經包含了Qt)和X軟件開發工具包,否則安裝過程將無法進行下去。如果沒有安裝該軟件包,那麼可以選擇:開始選單→系統工具→軟件包。這時就會啟動Red Hat軟件包管理工具,選中上述兩項內容(如圖1所示),點擊確定進行安裝。

雖然已經成功,但是我還是不覺得輕松,畢竟這個方法過於復雜。於是,我開始尋求更簡單的解決辦法。工夫不負有心人,最後,我終於找到了解決的辦法,也就是我將要給大家介紹的方法二。

安裝配置方法二

這種方法的基本思想是,通過RHN讓Red Hat自己進行軟件更新和依賴性的檢查,至於如何設置RHN,請參考本刊2003年第1期“使用RHN讓Red Hat Linux自動更新”的文章。

在Red Hat 8.0中,安裝的步驟如下:

第一步 up2date mysql mysql-server and mysql-devel

如果網速足夠快,那麼這個步驟也不會花太多的時間。

第二步 /usr/bin/mysql_install_db

第三步 chown -R mysql.mysql /var/lib/mysql

第四步 chmod -R 666 /var/lib/mysql

第五步 /usr/bin/safe_mysqld-u mysql &

第六步 up2date unixODBC unixODBC-devel

第七步 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

第十步 參照方法一編輯/etc/odbc.ini和/etc/odbcinst.ini

但是不知是什麼原因,每次當我使用up2date列表中的軟件包時都有一些問題。也許是某一次的安裝過程中,我沒有清理好系統,或者是當目錄樹下有如此多的軟件包時,up2date無法正確應對。不管怎麼說,我還是正確完成了安裝。

小結

現在再來做另外一件事情,就是從剛建立的表中提取內容,並且打印地址標簽。完成這個步驟花費了我大量的時間。按照幫助系統的指示,我大概了解了配置的過程,但是最後沒有成功。並且,這個配置過程非常的不直觀,更何況有的步驟根本就無法正常工作。

為此,我在網上進行了大量檢索,並且分別到OpenOffice.org和MySQL的論壇中進行了提問,但問題都沒有得到解決。功夫不負有心人,最後我終於獲知原來出錯的原因居然是OpenOffice.org的幫助系統文件檔有一些錯誤。我終於找到了可以讓它正常工作的方法。

copyright © 萬盛學電腦網 all rights reserved