Экспорт списка драйверов источников данных ODBC?

8

Можно ли экспортировать CSV - файл из списка имен драйверов базы данных из Create New Data Sourceиз ODBC Data Source Administrator?

Администратор источника данных ODBC Создать новый источник данных

leeand00
источник

Ответы:

9

Имеет ли эта статья правильно описывает , как разочарованы вы чувствуете? Очевидно, что нет простого способа получить эту информацию ... если вы не считаете, что обновление до win 8 является простым способом :-(

Я использовал информацию из этой статьи, чтобы сделать эквивалент PowerShell для вас (вы используете Win 7, поэтому PS v2 установлен по умолчанию):

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

Запустите PowerShell и вставьте выше (вам может понадобиться нажать клавишу Enter один или два раза после вставки). Затем он попросит вас указать путь - это путь и файл, в который ваши данные будут экспортированы (например, c:\temp\myDrivers.csv) - нажмите Enter - и, если все прошло хорошо, для вас будет создан файл со списком драйверов.

Редактировать: это даст дополнительно версию и используемую 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
источник
Ну, они там ... так что hklm означает HKEY_LOCAL_MACHINE славы реестра ... Я буду чертовски .... и если вы покопаетесь в реестре там, вы можете узнать такие вещи, как то, что dll составляет драйвер ... .и какие расширения файлов он поддерживает ... однако ... я не вижу версию драйвера ... это странно ... интересно, где они хранят это ... в DLL, может быть?
leeand00
Я посмотрел на свойства библиотеки DLL, и именно там, где она получает номера версий, они совпадают со значениями в окне «Создать новый источник данных». Даты и названия компаний также там.
leeand00
Так что, вероятно, можно использовать что-то подобное в сценарии (конечно, сначала получив имя файла драйвера .... stackoverflow.com/questions/30686/… )
leeand00
1
@ leeand00 Я изменил скрипт, поэтому он возвращает больше данных. Осторожно, я не эксперт PS, так что это может быть не лучшим способом кодировать это
wmz
2
В 64-разрядной версии Windows 7 32-разрядные драйверы находятся по следующему пути реестра: hklm: \ software \ wow6432Node \ odbc \ odbcinst.ini Обратите внимание, что некоторые драйверы, найденные здесь (по умолчанию Microsoft), могут не иметь ключа пути -value и вызовет ошибку при запуске сценария powershell, опубликованного в ответе, поэтому необходимо будет добавить некоторую обработку ошибок.
cowb0y