Eksportujesz listę sterowników źródła danych ODBC?

8

Czy to możliwe, aby wyeksportować plik CSV z listą nazwisk kierowców w bazie od Create New Data Sourcez ODBC Data Source Administrator?

Administrator źródła danych ODBC Utwórz nowe źródło danych

leeand00
źródło

Odpowiedzi:

9

Czy ten artykuł poprawnie opisuje, jak się czujesz sfrustrowany? Oczywiście nie ma łatwego sposobu na uzyskanie tych informacji ... chyba że uważasz ulepszenie, aby wygrać 8 w łatwy sposób :-(

Użyłem informacji z tego artykułu, aby stworzyć dla ciebie odpowiednik PowerShell (masz Win 7, więc PS v2 jest domyślnie instalowany):

get-itemproperty -path hklm:\software\odbc\odbcinst.ini\"Odbc drivers" |
get-member | 
where {$_.definition -match "installed"} |
select-object name | export-csv -noTypeInformation

Uruchom PowerShell i wklej powyżej (może być konieczne naciśnięcie klawisza Enter raz lub dwa razy po wklejeniu). Następnie poprosi Cię o podanie ścieżki - jest to ścieżka i plik, do którego dane zostaną wyeksportowane (np. c:\temp\myDrivers.csv) - naciśnij klawisz Enter - a jeśli wszystko pójdzie dobrze, zostanie utworzony plik z listą sterowników.

Edycja: da to dodatkowo używaną wersję i dll.

get-itemproperty -path hklm:\software\odbc\odbcinst.ini\"Odbc drivers" |
get-member |
where {$_.definition -match "installed"} |
foreach-object { get-itemproperty -path $("hklm:\software\odbc\odbcinst.ini\"+ $_.name)} |
select-object PSChildName,Driver|Add-member -MemberType ScriptProperty -Name FVersion -Value {(((get-item $this.Driver).versionInfo)).FileVersion} -PassThru |export-CSV -noTypeInformation
wmz
źródło
Cóż, są ... więc hklm oznacza HKEY_LOCAL_MACHINE sławy rejestru ... Będę cholerny .... a jeśli się tam wkopiesz, możesz dowiedzieć się, jak dll składa się na sterownik .. . i jakie rozszerzenia plików obsługuje ... jednak ... nie widzę wersji sterownika ... to dziwne ... zastanawiam się, gdzie je przechowują ... może w DLL?
leeand00
Przyjrzałem się właściwościom biblioteki DLL i tam musi znajdować się numer wersji, ponieważ są one zgodne z tymi w oknie „Utwórz nowe źródło danych”. Są tam również daty i nazwy firm.
leeand00
Prawdopodobnie można więc użyć czegoś takiego w skrypcie (najpierw uzyskując nazwę sterownika ) .... stackoverflow.com/questions/30686/ ... )
leeand00
1
@ leeand00 Zmieniłem skrypt, aby zwracał więcej danych. Uwaga, nie jestem ekspertem od PS, więc może nie być to najlepszy sposób, aby to
kodować
2
W systemie Windows 7 64-bitowym sterowniki 32-bitowe znajdują się w następującej ścieżce rejestru: hklm: \ software \ wow6432Node \ odbc \ odbcinst.ini Uwaga: niektóre sterowniki tutaj (domyślnie Microsoft) mogą nie mieć klucza ścieżki -value pair i spowoduje błąd podczas uruchamiania skryptu PowerShell opublikowanego w odpowiedzi, więc należałoby dodać obsługę błędów.
cowb0y