php 读取 access 数据库

百度出来的教程几乎都已经过时了,因为微软的ODBC驱动升级后,连接驱动字符串变了。
如果电脑安装过 Office 软件选择了 AccessDB 功能,就不需要安装驱动了。否则,需要安装 AccessRuntime(ODBC驱动)。
完成上一步后,这个链接字符串可以在服务器ODBC数据源管理的地方查询到,如果是手动安装的 AccessRuntime ,就需要手动添加数据源。

< ?php
set_time_limit(0);
date_default_timezone_set('Asia/Shanghai');
require 'memcached.php';

$mdbPath = 'xxxxxx.mdb';
$memcacheServerIP = '192.168.100.100';
$memcacheServerPort = 11211;
$memcacheKey = 'MarketData';

while(true){
	try{
		$connection = odbc_connect("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=$mdbPath;", null, null);
		$rs = odbc_exec($connection, 'SELECT * FROM ELE');
		$data = [];
		while($row = odbc_fetch_array($rs)){
			foreach($row as &$val){
				$val = iconv('gbk', 'utf-8', $val);
			}
			$data[] = $row;
		}
		odbc_close($connection);

		$m = new Memcached;
		$m->addServer($memcacheServerIP, $memcacheServerPort);
		$m->set($memcacheKey, $data);
		echo date('Y-m-d H:i:s'), ' Data count: ', count($m->get($memcacheKey)), "\r\n";
		$m->close();
	}catch(Exception $e){
		var_dump($e);
	}
	sleep(1);
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注