我需要从我的计算机中检索信息,我可以通过PHP脚本获取它,但如果可能的话,最好是Perl脚本。基本上我需要用户定义的ODBC数据源列表及其服务器URL (如果已定义)。
我看到了this answer如何使用PHP从注册表中提取它,但我也需要服务器URL。
答案 0 :(得分:1)
我非常非常快速地将这个Perl脚本放在一起,但它似乎可以满足您的需求。它将连接名称放在哈希中作为键,然后将服务器字符串作为其值。请注意,根据您的问题,这只会获取用户定义的源(尽管适应收集系统DSN也很简单):
int *m
输出:
use warnings;
use strict;
use Win32::TieRegistry;
my $odbc_key = $Registry->{'CUser\\Software\\ODBC\\ODBC.INI'};
my %sources;
for (keys %$odbc_key) {
next if /ODBC Data Sources/;
s/\\//g;
$sources{$_} = $odbc_key->{"$_\\Server"};
}
for my $dsn (keys %sources) {
print "dsn: $dsn, server: $sources{$dsn}\n";
}