通过命令行获取Windows 7 ODBC数据源列表

时间:2016-11-22 18:23:34

标签: php mysql perl odbc command-prompt

我需要从我的计算机中检索信息,我可以通过PHP脚本获取它,但如果可能的话,最好是Perl脚本。基本上我需要用户定义的ODBC数据源列表及其服务器URL (如果已定义)。

我看到了this answer如何使用PHP从注册表中提取它,但我也需要服务器URL。

1 个答案:

答案 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";
}