百度出来的教程几乎都已经过时了,因为微软的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); }