PDA

Visualizza la versione completa : [SQL] Interrogare LDAP come fosse un database SQL


denis76
22-08-2011, 11:51
Salve a tutti. Devo estrarre dei dati da un database Ldap a cui mi collego per mezzo di Ado. A prima vista vedo che cose del tipo ... where field1 is not null oppre select trim(field1) non si possono fare.
Esiste un modo o mi devo accontentare?

alka
22-08-2011, 12:09
Con quale linguaggio?

denis76
22-08-2011, 12:12
Puro sql, da eseguire con un editor generico per sql su Windows attraverso Ado.

alka
22-08-2011, 15:16
Originariamente inviato da denis76
Puro sql, da eseguire con un editor generico per sql su Windows attraverso Ado.

In SQL standard non mi risulta esista un TRIM, ad esempio.

Secondo me, conviene che tu verifichi la guida del "provider" che stai utilizzando tramite ADO e che probabilmente supporta uno standard particolare di SQL per capire quali sono le parole chiave e le funzionalità che hai a disposizione.

Inoltre, dovresti definire meglio cosa intendi con "non si possono fare": ti viene restituito un errore? oppure cosa accade?

denis76
22-08-2011, 16:28
Devo estrarre dei dati da Active Directory.
Per semplificare supponiamo che mi servi nome, cognome e numero di telefono del personale. Dovrei quindi eseguire una queli del tipo

select nome as field01, cognome, numero from "ldap:...." where numero is not null order by cognome, nome
cosa per niente facile.

alka
23-08-2011, 10:31
Originariamente inviato da denis76
Devo estrarre dei dati da Active Directory.
Per semplificare supponiamo che mi servi nome, cognome e numero di telefono del personale. Dovrei quindi eseguire una queli del tipo

select nome as field01, cognome, numero from "ldap:...." where numero is not null order by cognome, nome
cosa per niente facile.

Sì, ma ancora non è chiaro qual è il tuo problema: scrivi una query e restituisce un errore? oppure vorresti esprimerti tramite una query ma non ti viene consentito di farlo? oppure i risultati non sono quelli attesi? e cosa usi per eseguire la tua query? qual è il linguaggio, l'ambiente e il driver effettivamente utilizzato?

Dettaglia un po' la richiesta, perché al momento ancora non è possibile capire qual è il problema principale.

denis76
23-08-2011, 16:40
Dalle prove fatte risulta che interrogare ActiveDirectory per mezzo di Ado ha delle limitazioni. Si può ad esempio esegure

where objectClass='Person' ma non
where objectClass!= ''
In caso di errore si ottiene una descrizione dell'errore generica che non permette di capire cosa non va.
Per risolvere la cosa non sto usando Ado (come mi era stato detto di fare).
In Delphi ho trovato questo componente TADSISearch che sembra di essere più facile da gestire.

alka
23-08-2011, 16:52
Originariamente inviato da denis76
Dalle prove fatte risulta che interrogare ActiveDirectory per mezzo di Ado ha delle limitazioni. Si può ad esempio esegure [...]
ma non
where objectClass!= ''

Siamo sicuri che "diverso" si esprima con != e non invece con <>? :confused:


Originariamente inviato da denis76
In caso di errore si ottiene una descrizione dell'errore generica che non permette di capire cosa non va.

Questo errore si ottiene dove? come? usando cosa?
Mi chiedo se dire cosa si sta utilizzando per fare la query, quale linguaggio, quale tool e quale provider sia rivelare un'informazione così delicata... :incupito:


Originariamente inviato da denis76
Per risolvere la cosa non sto usando Ado (come mi era stato detto di fare).

Guarda, non so minimamente cosa stai utilizzando, visto che ti ostini a omettere questa informazione, quindi potresti anche utilizzare un rasoio elettrico che a me non farebbe alcune differenza. :)


Originariamente inviato da denis76
In Delphi ho trovato questo componente TADSISearch che sembra di essere più facile da gestire.
Boh... fai tu... :spy:

Loading