Xuất danh sách các trình điều khiển ODBC Datasource?


8

Là nó có thể xuất khẩu một tập tin CSV của danh sách tên tài xế cơ sở dữ liệu từ Create New Data Sourcecác ODBC Data Source Administrator?

Quản trị nguồn dữ liệu ODBC Tạo nguồn dữ liệu mới

Câu trả lời:


9

bài viết này một cách chính xác mô tả cách thất vọng bạn cảm thấy? Rõ ràng không có cách nào dễ dàng để có được thông tin này ... trừ khi bạn xem xét nâng cấp để giành được 8 cách dễ dàng :-(

Tôi đã sử dụng thông tin trong bài viết này để tạo ra một quyền hạn tương đương với bạn (bạn đang dùng win 7 nên ps v2 được cài đặt theo mặc định):

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

Bật quyền hạn và dán ở trên (bạn có thể cần nhấn phím Enter một hoặc hai lần để hỗ trợ bạn dán). Sau đó, nó sẽ yêu cầu bạn cung cấp đường dẫn - đây là đường dẫn và tệp dữ liệu của bạn sẽ được xuất sang (ví dụ c:\temp\myDrivers.csv) - nhấn Enter - và nếu mọi thứ đều ổn, một tệp có danh sách trình điều khiển sẽ được tạo cho bạn.

Chỉnh sửa: điều này sẽ cung cấp thêm phiên bản và dll được sử dụng.

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

Vâng, họ ở đó ... vì vậy hklm là viết tắt của HKEY_LOCAL_MACHINE của danh tiếng đăng ký ... Tôi sẽ chết tiệt .... và nếu bạn đào sâu vào sổ đăng ký ở đó, bạn có thể tìm ra những thứ như những gì sẽ tạo nên trình điều khiển .. .và những phần mở rộng tập tin nào nó hỗ trợ ... tuy nhiên ... Tôi không thấy phiên bản trình điều khiển ... thật kỳ lạ ... Tôi tự hỏi họ lưu trữ ở đâu ... trong DLL có thể?
leeand00

Tôi đã xem xét các thuộc tính của DLL và đó phải là nơi lấy số phiên bản từ vì chúng khớp với các thuộc tính trong cửa sổ "Tạo nguồn dữ liệu mới". Ngày và tên công ty cũng ở đó.
leeand00

Vì vậy, có lẽ có thể sử dụng một cái gì đó như thế này trong tập lệnh (tất nhiên là lấy tên tệp trình điều khiển .... stackoverflow.com/questions/30686/iêu )
leeand00

1
@ leeand00 Tôi đã thay đổi tập lệnh để nó trả về nhiều dữ liệu hơn. Coi chừng tôi không phải là chuyên gia về PS nên có thể không phải là cách tốt nhất để viết mã đó
wmz

2
Trên Windows 7 64 bit, trình điều khiển 32 bit được tìm thấy theo đường dẫn đăng ký sau: hklm: \ software \ wow6432Node \ odbc \ odbcinst.ini Lưu ý rằng một số trình điều khiển được tìm thấy ở đây (mặc định là Microsoft), có thể không có khóa Đường dẫn cặp giá trị và sẽ gây ra lỗi khi chạy tập lệnh powershell được đăng trong câu trả lời, vì vậy một số xử lý lỗi sẽ phải được thêm vào.
cowb0y
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.