Hallo zusammen,
ich bin eine blutiger anfänger. vielleicht kann mir jemand helfen.ich möchte mit perl bestimmte odbc datenquellen löschen. Diese stehen alle in der registry unter hklm\software\odbc\odbc.ini einmal mit dem namen als schlüssel und unter ODBC Data Sources als wert (Schlüsselname und name des wertes sind identisch).
nun möchte ich die Datenquellen löschen die einen bestimmten wert (z.B. test_data) der zeichenfolge Description enthalten(liegt unter hklm\software\odbc\odbc.ini\testdatenquelle\ )
eine besipiel regdatei wäre:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\]
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\\1234]
"Driver"="C:\\Programme\\DataDirect\\SLODBC53\\ivslk16.dll"
"Description"="test_data 1234"
"Host"="1234"
"Port"="1234"
"ServerDataSource"="1234"
"UseLDAP"="0"
"DistinguishedName"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\\ODBC Data Sources]
"1234"="DataDirect 32-BIT SequeLink 5.3"
2 möglichkeiten habe ich mir überlegt:
1.
man greift direkt auf die registry zu und sucht und löscht dort.
2.
man exportiert die registry als .reg (regedit /e work.reg "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\")
und ändert die reg wie folgt für alle einträge per script ab ( minus zeichen vor dem schlüssel und als wert der zeichenfolge
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\]
[-HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\\1234]
"Driver"="C:\\Programme\\DataDirect\\SLODBC53\\ivslk16.dll"
"Description"="test_data 1234"
"Host"="1234"
"Port"="1234"
"ServerDataSource"="1234"
"UseLDAP"="0"
"DistinguishedName"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\\ODBC Data Sources]
"1234"="-"
Vielen Dank für Eure Hilfe!!!
Datum: 10.03.2008-14:53
