ส่งออกรายการไดรเวอร์ ODBC Datasource หรือไม่


8

เป็นไปได้หรือไม่ที่จะส่งออกไฟล์ CSV ของรายชื่อไดรเวอร์ฐานข้อมูลจากCreate New Data SourceรายการODBC Data Source Administrator?

ผู้ดูแลแหล่งข้อมูล ODBC สร้างแหล่งข้อมูลใหม่

คำตอบ:


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

2
บน Windows 7 64 บิตพบไดรเวอร์ 32- บิตภายใต้เส้นทางรีจิสทรีต่อไปนี้: hklm: \ software \ wow6432Node \ odbc \ odbcinst.ini โปรดทราบว่าไดรเวอร์บางตัวพบที่นี่ (ค่าเริ่มต้นของ Microsoft) อาจไม่มีคีย์เส้นทาง - คู่ที่มีค่าและจะทำให้เกิดข้อผิดพลาดเมื่อเรียกใช้สคริปต์ powershell ที่โพสต์ในคำตอบดังนั้นการจัดการข้อผิดพลาดบางอย่างจะต้องเพิ่ม
cowb0y
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.