簡體   English   中英

從 SQL Server 中的 SSMS 返回 LDAP SQL 查詢中的 Active Directory jpegPhoto 屬性

[英]Return Active Directory jpegPhoto attribute in LDAP SQL query from SSMS in SQL Server

我在這個問題上遇到了麻煩,我似乎無法找到或弄清楚出了什么問題,也找不到問題的答案......我對查詢 Active Directory 完全陌生,所以我希望我當我指出解決方案時,我還沒有做過一些值得拍我的額頭的事情!

所以,我已經將圖像上傳到縮略圖和 jpegPhoto 中,我可以在 ADSI Edit 中看到這些確實具有價值。

我已經在我們的 2008 R2 數據庫服務器上設置了一個鏈接服務器(名為 ActiveDirectory),我可以成功查詢並返回結果。 如果我運行下面的查詢,它返回的值很好,但是一旦我取消注釋 jpegPhoto 行(在下面的代碼中注釋掉),我就會收到錯誤...

無法從鏈接服務器“ActiveDirectory”的 OLE DB 提供程序“ADSDSOObject”獲取行的數據。 由於符號不匹配或溢出以外的原因,無法轉換數據值。

如果該字段的內容從未填充到返回的結果集中,則查詢在未注釋 jpegPhoto 的情況下正確運行。

SELECT
   objectGUID
   ,cn
   ,thumbnailPhoto
   --   ,jpegPhoto
FROM OpenQuery ( 
   ActiveDirectory,  
   'SELECT
      objectGUID
      ,cn
      ,thumbnailPhoto
      ,jpegPhoto
 FROM  ''LDAP://XXXXX/OU=XXXXX,DC=XXXXX,DC=XXXXX,DC=com''
 ') AS AD
WHERE cn = 'username'

對我來說,結果可以從 OpenQuery 返回(我試過 OpenRowset 無濟於事)似乎很奇怪,但它似乎失敗了。

我也嘗試過各種 CAST 和 CONVERT,但我現在不知道如何實際獲取我的查詢中返回的該字段的內容(我只是試圖在 SQL Server Management Studio 中運行。

有沒有人遇到過這個問題並克服了它?

我當然希望如此!!

提前致謝!!

甘農

我知道的老問題,但對於那些在谷歌上找到這個的人。

據我所知,對於thumbnailPhoto,用於Microsoft 目錄服務的OLE DB 提供程序僅限於4k 字段大小。 這意味着如果你上傳一張很小的照片,它就可以工作。

對於 jpegPhoto,字段類型有所不同 -

縮略圖照片是單值的,上限為 102400 字節。

另一方面,jpegPhoto 是多值的並且不強制執行上限

而且,根據互聯網上的其他頁面 -

SQL Server 的 ADSI 提供程序相當有限——不支持多值屬性是這些限制之一。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM