使用PHP获取本地计算机中ODBC数据源的列表
答
PHP具有内置的MySQL连接支持,因此不需要ODBC连接。任何PHP不支持的数据库环境都需要ODBC。
答
如果我假设你使用的是Windows
用户定义的ODBC连接存储下HKEY_CURRENT_USER \ SOFTWARE \ ODBC \ ODBC.INI
系统定义的ODBC连接运行下HKEY_LOCAL_MACHINE \存储SOFTWARE \ ODBC \ ODBC.INI
ODBC驱动下HKEY_LOCAL_MACHINE \ SOFTWARE定义\ ODBC \ ODBCINST.INI
所以,你需要一些技巧与PHP从注册表像this one或this one
读如果我认为你是在Unix/Linux然后
用户定义的ODBC连接存储下的/ etc/ODBC。 INI
系统定义ODBC连接存储下/home/username/.odbc.ini
ODBC驱动定义在/etc/odbcinst.ini
所有这些都是类似INI的语法文本文件。
答
define('HKEY_LOCAL_MACHINE', 0x80000002);
$computer = '.';
$reg = new COM("winmgmts:{impersonationLevel=impersonate}!\\\\$computer\\root\\default:StdRegProv");
$key_path = 'SOFTWARE\ODBC\ODBCINST.INI';
$sub_keys = new VARIANT();
$reg->EnumKey(HKEY_LOCAL_MACHINE, $key_path, $sub_keys);
foreach($sub_keys as $sub_key){
echo $sub_key . "\n";
}
你的PHP运行在本地机器上还是远程服务器上? – 2010-03-22 14:54:56
Thanx Pekka的回复 我在本地工作 关于 – 2010-03-22 15:00:48
有PHP支持PHP http://www.php.net/manual/en/function.odbc-connect.php,但我可以'您可以看到列出可用数据源的方法。您可能必须使用Windows程序/命令来获取列表,然后运行'exec()'来获取结果。但是也许有些东西出现在这里,等一下。 – 2010-03-22 15:05:58