Esportare un elenco di driver dell'origine dati ODBC?


8

È possibile esportare un file CSV dell'elenco dei nomi dei driver del database dal Create New Data Sourcedi ODBC Data Source Administrator?

Amministratore origine dati ODBC Crea nuova origine dati

Risposte:


9

Questo articolo descrive correttamente quanto ti senti frustrato? Ovviamente non esiste un modo semplice per ottenere queste informazioni ... a meno che non si consideri l'aggiornamento per vincere 8 in modo semplice :-(

Ho usato le informazioni in questo articolo per rendere l'equivalente di PowerShell per te (sei su win 7 quindi ps v2 è installato di default):

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

Avvia PowerShell e incolla sopra (potrebbe essere necessario premere il tasto Invio una o due volte dopo aver incollato). Ti chiederà quindi di indicare il percorso - questo è un percorso e un file in cui verranno esportati i tuoi dati (ad es. c:\temp\myDrivers.csv) - premi Invio - e se tutto è andato bene verrà prodotto per te un file con l'elenco dei driver.

Modifica: questo fornirà inoltre la versione e la dll utilizzate.

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

Bene eccoli ... quindi hklm sta per HKEY_LOCAL_MACHINE di fama di registro ... Sarò dannato .... e se si scava nel registro lì, è possibile scoprire cose come ciò che dll compone il driver .. .e quali estensioni di file supporta ... tuttavia ... Non vedo una versione del driver ... è strano ... Mi chiedo dove lo memorizzano ... nella DLL forse?
leeand00,

Ho esaminato le proprietà della DLL e quello deve essere il punto da cui ottiene i numeri di versione perché corrispondono a quelli nella finestra "Crea nuova origine dati". Sono presenti anche le date e i nomi delle società.
leeand00,

Quindi è probabilmente possibile utilizzare qualcosa di simile nello script (ottenendo il nome del file del driver in primo luogo naturalmente .... stackoverflow.com/questions/30686/... )
leeand00

1
@ leeand00 Ho cambiato lo script in modo che restituisca più dati. Attenzione, non sono un esperto di PS, quindi potrebbe non essere il modo migliore per codificarlo
wmz

2
Su Windows 7 a 64 bit, i driver a 32 bit si trovano nel seguente percorso del registro: hklm: \ software \ wow6432Node \ odbc \ odbcinst.ini Si noti che alcuni driver trovati qui (roba Microsoft predefinita), potrebbero non avere una chiave Path -value e causerà un errore durante l'esecuzione dello script PowerShell pubblicato nella risposta, pertanto è necessario aggiungere un po 'di gestione degli errori.
Cowb0y
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.