导出ODBC数据源驱动程序列表?


8

是否有可能从导出数据库驱动程序名称列表的CSV文件Create New Data SourceODBC Data Source Administrator

ODBC数据源管理员 创建新的数据源

Answers:


9

难道本文正确地描述了多么沮丧,你有什么感觉?显然,没有简单的方法来获取此信息...除非您认为升级赢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

嗯,它们在那里...所以hklm代表注册表着名的HKEY_LOCAL_MACHINE ...我一定会....如果您深入那里的注册表,您会发现诸如dll构成驱动程序之类的东西。 。以及它支持的文件扩展名...但是...我没有看到驱动程序版本...这很奇怪...我想知道它们在DLL中的存储位置是什么?
leeand00

我查看了DLL的属性,该属性必须是从中获取版本号的位置,因为它们与“创建新数据源”窗口中的版本号匹配。日期和公司名称也在那里。
leeand00

所以它可能可以使用脚本这样的事情(获得驱动程序文件名第一期培训班的.... stackoverflow.com/questions/30686/...
leeand00

1
@ leeand00我已经更改了脚本,因此它返回了更多数据。当心,我不是PS专家,所以这可能不是编码的最佳方法
wmz 2012年

2
在Windows 7 64位系统上,以下注册表路径下找到32位驱动程序:hklm:\ software \ wow6432Node \ odbc \ odbcinst.ini请注意,此处找到的某些驱动程序(默认Microsoft资料)可能没有Path项-value对,并且在运行答案中发布的powershell脚本时将导致错误,因此必须添加一些错误处理。
cowb0y 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.