IT学习者 | 站长学院 | 技术文档 | 桌面壁纸 | 网络电台 | 成语 | 歇后语 | 周公解梦 | 生日密码 | 代码收藏 | 小游戏 | IP地址查询 | 北京时间 | 网速测试

在Linux下实现对Microsoft Access Database(.mdb

【 来源:网络 作者:佚名 更新时间:2009-02-23 | 字体:
You will need the following:
Linux ( I’m running RedHat 9.0)
PHP
Apache
UnixODBC
MDBTools

INSTRUCTIONS
1) Download the UnixODBC RPM, found here. I installed unixODBC version 2.2.5.1.
rpm -ivh unixODBC-2-2.5-1.i386.rpm

2) Download the MDBTools rpm, found here. I installed mdbtools version 0.5.1. Read limitations!
rpm -ivh mdvtools-0.5-1.i386.rpm

3) Download the MDBTools ODBC driver rpm. Again I installed version 0.5-1.i386.rpm. Read limitations!
rpm -ivh mdbtools-odbc-0.5-1.i386.rpm

4) Add the mdbtools driver to your unixODBC config.
Create a new text file. NON-LINUX user: Beware do not do this on windows as you might get werid new lines, use vi.

[MDBToolsODBC]
Description = MDB Tools ODBC drivers
Driver = /usr/lib/libmdbodbc.so.0
Setup =
FileUsage = 1
CPTimeout =
CPReuse =


NOTE: The driver may be in /usr/local/lib/libmdbodbc.so.0. This happens if you build from source and use the make install command. The RPM puts it in /usr/lib.
Now install the driver using the file you created. This is called a template file.
odbcinst -i -d -f template.file

5) Define the datasource name. This is done in the /etc/odbc.ini file. So pull up this file in vi or another text editor and add the following lines.

[Dogs]
Description = Microsoft Access Database of Dogs
Driver = MDBToolsODBC
Database = /var/data/my_dog_db.mdb
Servername = localhost
UserName =
Password =
port = 5432


That’s it you should now have an odbc connection available. I will demonstrate using php, this assumes that your php is compiled with UnixODBC support, the version that ships with Redhat 9 does if yours does not then you can learn how here.

So I will write a quick php script to query my dogs database and print out the names and weights of my dogs.

$myDB = odbc_connect(”Dogs”,”",”");
$query = “select name, weight from dog_list”;
$result = odbc_exec($myDB, $query);
while (odbc_fetch_row($result)) {
print “Name = ” . odbc_result($result,”name”);
print “
Weight = ” . odbc_result($result,”weight”);
}


If you get a php error that says odbc_connect is not a function then see if you have php-odbc installed. Do rpm -qa php-odbc. If you see php-odbc returned then you have it if not install it., the rpm is available on the redhat discs.

Limitations:
- As of the time of writing this entry MDBTools did not support write access to the mdb files. This was fine for my purposes as I was reading data in and sticking it into a mysql database.
- There is a bug in MDBTools v0.5 which does not allow you to query tables or columns with an underscore. This was a bug I hit early on, but it has been fixed in new version 0.6 but that has not been released as of the time of writing this article. So I recompiled the 0.5 source code with the fix from the 0.6 CVS repository. I have bundled it into a 0.5 release and have the two rpms mentioned above here:
mdbtools-0.5-1.i386.rpm
mdbtools-odbc-0.5-1.i386.rpm

I would check the official download site before using my hacked version as I’m sure this bug will be fixed in 0.6 (plus rumor has write access will be present as well).

音乐
嫁衣 画心 叹服 我爱他 甩葱歌 琉璃月 最后一次 星月神话 烟花易冷 poker face 变心的玫瑰 i miss you 你是我的ok绷 要嫁就嫁灰太狼 你还欠我一个拥抱
火苗 落花 稻香 伽蓝雨 海豚音 爱上你 爱情买卖 灰色头像 好听的歌 没那么简单 等爱的玫瑰 左眼皮跳跳 丢了幸福的猪 斯琴高丽的伤心 有谁像我一样疼你
白狐 偏爱 犯错 错错错 走天涯 套马杆 狼的诱惑 爱是你我 郎的诱惑 我爱雨夜花 我要去西藏 超人不会飞 哥只是个传说 如果这就是爱情 不是因为寂寞才想你
传奇 王妃 心墙 全是爱 棉花糖 我相信 经典老歌 伤感歌曲 心痛2009 最炫民族风 我们都一样 新贵妃醉酒 贝多芬的悲伤 我们没有在一起 爱上你等于爱上了错
加入收藏留言建议ASP探针PHP探针站长Enjoy的BlogAboutDomain
© 2010 IT学习者 - itlearner.com
RunTime:2.94ms