您好,欢迎访问一九零五行业门户网

如何才能让MySQL与OpenOffice共舞_MySQL

openoffice
一年前,我成为了linux用户的一员,但是多年使用windows,让我觉得linux有的工具使用不很习惯。就拿数据库来说,在windows下,开发一些数据库驱动的网站或者小型管理系统时可以选择使用access。access不仅易于使用,而且非常方便。转到linux上后,做同样事情时发现mysql/>mysql是一个不错的选择,但其没有图形界面,使用起来不是很方便,于是希望能够找到解决的方案。经过一段时间的探寻,终于找到了解决办法,即把mysql/>mysql和openoffice结合使用。根据资料显示,实现mysql/>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的帮助系统文件档有一些错误。我终于找到了可以让它正常工作的方法。
当我第一次尝试打印地址标签时,mysql提示出错信息:“too many c
其它类似信息

推荐信息