Linux和Windows一样也可以配置ODBC数据源。在RedHat EL5版本中,需要先从Redhat光盘中安装如下几个RPM包,unixODBC-2.2.0-5.i386.rpm以及unixODBC-devel-2.2.0-5.i386.rpm,这两个按照顺序安装,具体RPM版本可能会因为OS版本而有所更新,安装之后可执行文件放在了/usr/bin目录下,包括接下来会用到的ODBCConfig命令,配置文件则在/etc目录下。然后安装一个unixODBC-kde-2.2.11-7.1.i386.rpm,这个安装包可能是KDE下的一个图形化的配置界面吧,应该也是适用于GNOME的。
这样实际上已经安装好了ODBC数据源配置工具,接下来就可以安装RedHat EL5下的MySQL的ODBC驱动,这里笔者下载的是mysql-connector-odbc-5.2.2-1.rhel5.i386.rpm,然后安装好该驱动程序。
接下来开始做MySQL ODBC数据源配置。执行ODBCConfig命令,之后打开的图形化界面就基本上类似于Windows下的ODBC数据源配置界面了,但是还稍有些不同。先添加MySQL ODBC驱动,在Driver面板,点击Add之后会弹出配置界面,
上图已经是本人配置成功的MySQL ODBC驱动。MySQL Driver安装之后其Driver是放在/usr/lib下的,笔者版本对应的是libmyodbc5w.so这个库,而Setup是需要填写的是数据库驱动安装程序,仍然是在/usr/lib下,这里建议写全路径,但是不知道为什么这里配置的写个文件名也可以。64位的驱动这里没有配置。保存之后关闭。
作为示例,这里选择添加System DSN。点击Add,选择刚添加的MySQL驱动。配置如下图:
填写ODBC数据源名称,服务器的IP或者本地localhost,数据库名称,端口号等,一般Port和Socket没有特殊的变化(默认安装的端口),都可以不填,然后保存退出。
接下来可以做连接测试了,利用DataManager命令可以打开查看ODBC数据源的驱动、System DSN、User DSN。我们选择配置的数据库进行登录。这里可能会遇到一个is not allowed to connect to this MySQL server的错误提示,笔者就遇到了。这就是MySQL的远程连接权限问题。可以给root用户增加远程登录的权限。这里笔者为了方便直接给root用户无论在哪个IP登录都可以访问的权限。SQL语句为:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
关于这个问题可以参考这个博文http://www.blogjava.net/acooly/archive/2008/09/17/229368.html,里面会有更详尽的作法。
成功连接上数据库,接下里还可以在DataManager做一些查询,进行进一步的测试。当然也可以利用isql命令做测试,如:isql yourdbname root passwd。