Mengekspor daftar driver Datasource ODBC?

8

Apakah mungkin untuk mengekspor file CSV dari daftar nama driver database Create New Data Sourcedari the ODBC Data Source Administrator?

Administrator Sumber Data ODBC Buat Sumber Data Baru

Leandand00
sumber

Jawaban:

9

Apakah artikel ini dengan benar menggambarkan perasaan frustrasi Anda? Jelas tidak ada cara mudah untuk mendapatkan info ini ... kecuali Anda menganggap upgrade untuk memenangkan 8 cara mudah :-(

Saya menggunakan informasi dalam artikel ini untuk membuat PowerShell setara untuk Anda (Anda berada di win 7 sehingga ps v2 diinstal secara default):

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

Nyalakan powerhell dan rekatkan di atas (Anda mungkin perlu menekan tombol Enter sekali atau dua kali setelah Anda rekatkan). Kemudian akan meminta Anda untuk memberikan path - ini adalah path dan file data Anda akan diekspor ke (mis. c:\temp\myDrivers.csv) - tekan Enter - dan jika semuanya berjalan dengan baik file dengan daftar driver akan diproduksi untuk Anda.

Sunting: ini akan memberikan versi tambahan dan dll yang digunakan.

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
sumber
Yah begitulah ... jadi hklm adalah singkatan dari HKEY_LOCAL_MACHINE dari ketenaran registri ... Saya akan sangat sial .... dan jika Anda menggali ke dalam registri di sana, Anda dapat menemukan hal-hal seperti apa yang membuat driver dll .. .dan ekstensi file apa yang didukungnya ... namun ... Saya tidak melihat versi driver ... itu aneh ... Saya ingin tahu di mana mereka menyimpannya ... di DLL mungkin?
leeand00
Saya melihat sifat-sifat DLL dan itu harus di mana mendapatkan nomor versi dari karena mereka cocok dengan yang ada di jendela "Buat Sumber Data Baru". Tanggal dan nama perusahaan juga ada di sana.
leeand00
Jadi mungkin saja menggunakan sesuatu seperti ini dalam skrip (mendapatkan nama driver terlebih dahulu tentu saja .... stackoverflow.com/questions/30686/… )
leeand00
1
@ leeand00 Saya telah mengubah skrip sehingga mengembalikan lebih banyak data. Hati-hati saya bukan ahli PS jadi mungkin bukan cara terbaik untuk kode itu
wmz
2
Pada Windows 7 64-bit, driver 32-bit ditemukan di bawah lintasan registri berikut: hklm: \ software \ wow6432Node \ odbc \ odbcinst.ini Perhatikan bahwa beberapa driver ditemukan di sini (item Microsoft default), mungkin tidak memiliki kunci Path -nilai pasangan, dan akan menyebabkan kesalahan saat menjalankan skrip powershell yang diposting dalam jawaban, sehingga beberapa penanganan kesalahan harus ditambahkan.
cowb0y