可能重複:
Get the list of ODBC data source names programatically using Delphi如何獲得系統上的所有ODBC連接?
我正在尋找一種方式來獲得本地系統的ODBC連接。我目前使用的方法是從下面的函數中讀取HKCU的註冊表值,該函數起作用!
function GetSystemDSN : TStringlist;
var
ini : TRegistry;
strings : TStringlist;
begin
ini := TRegistry.Create(KEY_READ);
strings := TStringlist.create;
with ini do
try
RootKey := HKEY_CURRENT_USER;
if KeyExists('SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources') then
begin
OpenKeyReadOnly('SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources');
GetValueNames(strings);
end;
result := strings;
finally
ini.Free;
end;
end;
不過我應該是能換到HKEY_LOCAL_MACHINE和讀取全局系統的ODBC連接,但在這裏,我什麼也沒得到。我聽說32和64位系統之間有一些區別,你使用的是隱藏密鑰Wow6432Node
。但我什麼也沒得到。
我也關注這個,因爲我需要分離32位和64位編譯版本?
是否有任何其他方式獲取系統和用戶的ODBC連接?
本主題dublicates http://stackoverflow.com/questions/7675412/get-the-list-of-odbc-data-source-names-programatically-using-delphi/7676569#7676569 –