Query AD dari sql server 2008 Bidang Deskripsi memberikan kesalahan

Saya mencoba menanyakan Direktori Aktif dengan kueri SQL berikut, yang berfungsi dengan baik.

SELECT * FROM OpenQuery(ADSI, 
                         'SELECT title, displayName, sAMAccountName, givenName, 
                                 telephoneNumber, facsimileTelephoneNumber, sn,  
                                 mail, physicalDeliveryOfficeName
                          FROM ''LDAP://DC=mydomain,DC=org'' 
                          WHERE sAMAccountName = ''myUser''')

Ketika saya menambahkan atribut description saya mendapatkan kesalahan berikut:

Pesan 7346, Level 16, Status 2, Baris 6
Tidak dapat memperoleh data baris dari penyedia OLE DB "ADSDSOObject" untuk server tertaut "ADSI". Tidak dapat mengonversi nilai data karena alasan selain ketidakcocokan tanda atau kelebihan.


person Rick    schedule 28.03.2012    source sumber


Jawaban (2)


Kemampuan kueri SQL/ADO ke dalam Direktori Aktif sangat terbatas - saya akan mencoba menghindari penggunaannya jika memungkinkan.

Alasannya di sini adalah bahwa atribut description di Direktori Aktif bersifat multi-nilai - atribut ini berpotensi berisi banyak nilai (sesuatu yang tidak mungkin dilakukan dalam model database relasional).

Oleh karena itu, penyedia kueri SQL/ADO tidak dapat membaca atribut multinilai apa pun dari LDAP - tidak ada cara atau opsi atau kotak centang untuk mengaktifkannya - hal ini tidak mungkin.

person marc_s    schedule 28.03.2012

Saya memiliki masalah yang sama dalam mendapatkan bidang Description dari AD ketika mencoba menggunakan ADsDSOObject dan ADO.

Anda harus memahami nilai-nilai dengan tipe pernyataan For Each atau Do until ... EOF.

Ini adalah contoh yang bagus

person TheSavo    schedule 29.03.2012