国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

讓MySQL與OpenOffice共舞

2024-07-24 12:55:36
字體:
來源:轉載
供稿:網友


一年前,我成為了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.tarmysql-client-3.23.55-1.i386mysql-shared-3.23.55-1.i386myodbc-2.50.39-1.i386unixodbc-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 mysqlrpm -e (發現的所有軟件包) updatedbrpm -qa | grep -i odbcrpm -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 -utestwelcome to the mysql monitor. commands end with ; or /g. your mysql connection id is 1 to server version: 3.23.55type '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:          4current database:current user:           [email protected] pager:          stdoutusing outfile:          ''server version:         3.23.55protocol version:       10connection:             localhost via unix socketclient characterset:    latin1server characterset:    latin1unix socket:            /tmp/mysql.sockuptime:                 6 min 57 secthreads: 1  questions: 6  slow queries: 0  opens: 6  flush tables:    1  open tables: 0 queries per second avg: 0.014
  為了實現我們的目的,需要安裝另外三個軟件包。和mysql不同的是,這三個軟件都是以rpm的格式給出的。切換至軟件包所在的目錄,運行以下命令:
[[email protected] odbc]#su[[email protected] odbc]# rpm -uvh mysql-client-3.23.55-1.i386.rpmpreparing...          ########################################### [100%]   1:mysql-client     ########################################### [100%][[email protected] odbc]# rpm -uvh mysql-shared-3.23.55-1.i386.rpmpreparing...          ########################################### [100%]   1:mysql-shared     ########################################### [100%][[email protected] odbc]# rpm -uvh myodbc-2.50.39-1.i386.rpmpreparing...          ########################################### [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./configuremakemake install
  但是,這個安裝過程并不順利,出現了一些問題。首先是一些庫文件的位置問題,這兩個庫文件是libodbcmys.so和libmyodbc.so,它們一般位于/usr/local/lib目錄之下。而在安裝過程中,odbcinst.ini配置文件中指示這兩個文件的位置卻在usr/lib目錄之下。所以需要對/etc/odbcinst.ini文件進行一些編輯。編輯完成后,我的odbcinst.ini文件內容如下所示:
[mysql]description   = odbc driver for mysqldriver   = /usr/local/lib/libmyodbc.sosetup   = /usr/local/lib/libodbcmys.sofileusate   = 1cptimeout   =cpreuse    =
  然后再創建一個/etc/odbc.ini文件,內容如下所示:
description   = mysql database testdriver  = mysqlserver  = localhostdatabase   = testport   = 3306socket   = option   =stmt    =
[mysql-test]   但是,當我按照手冊完成這個文件時,發現原來unixodbc已經建好了這個文件,不過它不在/etc目錄之下,而是在/usr/local/etc目錄下。于是我把上述兩個編輯好的文件拷貝至該目錄中。  此外,安裝庫unixodbc時還需要kde軟件開發工具包(其中已經包含了qt)和x軟件開發工具包,否則安裝過程將無法進行下去。如果沒有安裝該軟件包,那么可以選擇:開始選單→系統工具→軟件包。這時就會啟動red hat軟件包管理工具,選中上述兩項內容(如圖1所示),點擊確定進行安裝。   3.進行測試  首先看一看odbc和mysql是否可以正確溝通。我使用isql mysql-test -v命令來進行測試,結果出現了“could not sqlconnect”的錯誤信息。因為我使用了顯示詳細信息的-v選項,因此系統提示無法找到/var/lib/mysql/mysql.sock的信息。后來我發現mysql是把mysql.sock文件存儲在了/tmp目錄下,而odbc則是在/var/lib/mysql目錄下查找該文件,難怪它們不能順利溝通。  現在以root身份來創建一個/var/lib/mysql目錄,隨后運行以下命令:
chown -r mysql.mysql /var/lib/mysql
  然后重新啟動mysqld,并且指明了用戶名和socket的位置,命令如下所示:
bin/safe_mysqld --user=mysql --socket=/var/lib/mysql/mysql.sock &
  再測試一遍,結果一切正常。現在可以進行以下測試了:
/ isql mysql-test -v+---------------------------------------+| connected!            ||| | sql-statement|| help [tablename]|| quit|||+---------------------------------------+sql> select version();+----------+| version()|+----------+| 3.23.55 |+----------+1 rows affected1 rows returned
  經過前面不斷地失敗,我都不趕相信軟件用戶手冊了。接著,啟動openoffice writer,然后選擇工具→數據源。這時,又一個錯誤出現,openoffice顯示說無法找到libodbc.so。我把libodbc.so從/usr/local/lib拷貝到/usr/lib后,問題就解決了。于是,一切都正常了。圖2是openoffice的表設計窗口,在這個窗口中,我很容易就完成了一個表的設計,真是太棒了。   雖然已經成功,但是我還是不覺得輕松,畢竟這個方法過于復雜。于是,我開始尋求更簡單的解決辦法。工夫不負有心人,最后,我終于找到了解決的辦法,也就是我將要給大家介紹的方法二。  安裝配置方法二   這種方法的基本思想是,通過rhn讓red hat自己進行軟件更新和依賴性的檢查,至于如何設置rhn,請參考本刊2003年第1期“使用rhn讓red hat linux自動更新”的文章。  在red hat 8.0中,安裝的步驟如下:  第一步 up2date mysql mysql-server and mysql-devel   如果網速足夠快,那么這個步驟也不會花太多的時間。在我的機器上,這個過程只花費了4分鐘,如圖3所示。   第二步 /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的幫助系統文件檔有一些錯誤。我終于找到了可以讓它正常工作的方法。  當我第一次嘗試打印地址標簽時,mysql提示出錯信息:“too many connections.”,原來頁面中的每一個標簽都需要一個自己的連接。于是,我做了兩件事情來解決這個問題。首先,把下面這些加入到了/etc/my.cnf的mysql章節中:
set-variable = max_connections=200
  中止了正在運行的進程之后,在重新啟動之前執行了su mysql。我在網上看到有一個mysql開發人員建議,如果不以root身份來啟動mysqld的話可以解決“too many connection”的問題。于是我以mysql的身份重新啟動了mysql,并且在命令行中加入了一個用戶參數。這樣改變以后,數據庫的訪問就正常了。當然,到底哪一個方法有效還要經過一些實驗。  整個使用過程中,我的感覺是openoffice.org要遠比我想象的復雜和強大得多,它可以和各種數據庫管理系統一起工作。如果你的soho辦公環境需要數據庫訪問和操作,那么我建議不要馬上切換至openoffice.org,而是先對其進行測試,看一看其是否可以滿足你的需求。需要指出的是,任何軟件無論是代碼還是文檔,都會有一些錯誤,所以不要對使用過程中出現的一些問題大加抱怨,應該以更積極的態度來發現和解決問題。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 张掖市| 喀喇沁旗| 兴宁市| 广东省| 伊吾县| 孝感市| 高邑县| 平昌县| 清水河县| 泰州市| 留坝县| 丹阳市| 涟水县| 横峰县| 孙吴县| 安国市| 甘肃省| 镇远县| 新乡县| 惠来县| 游戏| 岑巩县| 花莲县| 商丘市| 乐昌市| 庄浪县| 黄龙县| 武山县| 普格县| 册亨县| 水城县| 方城县| 达拉特旗| 西宁市| 松桃| 千阳县| 天等县| 元朗区| 探索| 台东县| 元朗区|