3
我需要從我的計算機中檢索信息,如果可能,我可以通過PHP腳本獲取它,但最好是使用Perl腳本。基本上我需要用戶定義的ODBC數據源列表和他們的服務器URL(如果定義的話)。通過命令行獲取Windows 7 ODBC數據源列表
我看到this answer關於如何使用PHP從註冊表中提取它,但我也需要服務器URL。
我需要從我的計算機中檢索信息,如果可能,我可以通過PHP腳本獲取它,但最好是使用Perl腳本。基本上我需要用戶定義的ODBC數據源列表和他們的服務器URL(如果定義的話)。通過命令行獲取Windows 7 ODBC數據源列表
我看到this answer關於如何使用PHP從註冊表中提取它,但我也需要服務器URL。
我非常非常快速地將這個Perl腳本放在一起,但它似乎是在做你所需要的。它將連接名稱放在散列中作爲鍵,然後將服務器字符串作爲其值。請注意,根據您的問題,這樣只會抓取用戶自定義源(這將是微不足道的適應,雖然收集系統DSN):
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";
}
輸出:
dsn: Test, server: localhost
dsn: Blah, server: yay.blah.com
這是完美的,我是試圖在PHP中做它,閱讀註冊表,但我只能列出來源。 – nessa