Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Dialekt SQL odvozený z jazyka Structured Query Language používá k definování příkazů dotazu čitelné lidské výrazy. Použijte příkaz dotazu SQL s následujícími vyhledávacími rozhraními ADSI:
- Rozhraní ADO (ActiveX Data Object), což jsou rozhraní automation, která používají OLE DB.
- OLE DB, což je sada rozhraní C/C++ pro dotazování databází.
Příkazy SQL vyžadují následující syntaxi.
SELECT [ALL] * | select-list FROM 'ADsPath' [WHERE search-condition] [ORDER BY sort-list]
V následující tabulce jsou uvedena klíčová slova příkazu dotazu SQL.
| Klíčové slovo | Popis |
|---|---|
| VYBRAT | Určuje čárkami oddělený seznam atributů, které se mají načíst pro každý objekt. Pokud zadáte *, dotaz načte pouze ADsPath každého objektu. |
| OD | Určuje ADsPath základu hledání. Například ADsPath kontejneru Users v doméně služby Active Directory může být LDAP://CN=Users,DC=Fabrikam,DC=COM. Uvědomte si, že cesta je uzavřena do dvojice jednoduchých uvozovek ('). |
| KDE | Volitelné klíčové slovo, které určuje filtr dotazu. |
| ORDER BY | Volitelné klíčové slovo, které generuje řazení na straně serveru, pokud server podporuje ovládací prvek řazení LDAP. Active Directory podporuje ovládací prvek řazení, ale může mít vliv na výkon serveru, zejména pokud je sada výsledků velká. Seznam řazení je čárkami oddělený seznam atributů, podle kterých se má řadit. Mějte na paměti, že Služba Active Directory podporuje pouze jeden klíč řazení. K určení vzestupného nebo sestupného pořadí řazení můžete použít volitelná klíčová slova ASC a DESC; výchozí hodnota je vzestupná. Klíčové slovo ORDER BY přepíše jakýkoli klíč řazení zadaný vlastností Sort on objektu ADO Command. |
Poznámka
V případech, kdy se používá vícebajtová znaková sada, pokud vyhledávání provádí ADO s dialektem SQL, zpětné lomítko se nedá použít k řídicím znakům. Místo toho je nutné použít řídicí sekvence uvedené v speciální znaky. Například pro příkaz, který použil syntaxi "samAccountName=(Test", který používá zpětné lomítko, "\", k úniku otevřených závorek, "(", místo toho byste nahradili zpětné lomítko speciálním znakem "\28", následujícím způsobem: "samAccountName=\28Test".
Následující příkazy dotazu jsou příklady dialektu SQL v rozhraní ADSI.
Chcete-li vyhledat všechny objekty skupiny.
SELECT ADsPath, cn FROM 'LDAP://DC=Fabrikam,DC=COM' WHERE objectCategory='group'
Chcete-li vyhledat všechny uživatele, jejichž příjmení začíná písmenem H.
SELECT ADsPath, cn FROM 'LDAP://OU=Sales,DC=Fabrikam,DC=COM' WHERE objectCategory='person' AND objectClass='user' AND sn = 'H*' ORDER BY sn
Formální gramatika pro dotazy SQL je definována v následujícím příkladu kódu. Všechna klíčová slova nerozlišují malá a velká písmena.
statement ::= select-statement
select-statement ::= SELECT [ALL] select-list FROM table-identifier [WHERE search-condition] [ORDER BY sort-list]
select-list ::= * | select-sublist [, select-sublist]...
select-sublist ::= column-identifier
column-identifier ::= user-defined-name
table-identifier ::= string-literal
search-condition ::= boolean-term [OR search-condition]
sort-list ::= column-identifier [ASC | DESC] [,column-identifier [ASC | DESC]]...
boolean-term ::= boolean-factor [AND boolean-term]
boolean-factor ::= [NOT] boolean-primary
boolean-primary ::= comparison-predicate | (search-condition)
comparison-predicate ::= column-identifier comparison-operator literal
comparison-operator ::= < | > | <= | >= | = | <>
user-defined-name ::= letter [letter | digit]...
literal ::= string-literal | numeric-literal | boolean-literal
string-literal ::= '{character}...' (Any sequence of characters delimited by quotes)
numeric-literal ::= digits [fraction] [exponent]
digits ::= digit [digit]...
fraction ::= . digits
exponent ::= E digits
boolean-literal ::= TRUE | FALSE | YES | NO | ON | OFF
Zprostředkovatel OLE DB služby Active Directory nepodporuje vnitřní spojení SQL, ale k připojení dat SQL a Active Directory můžete použít SQL. Další informace naleznete v tématu Vytvoření heterogenního spojení mezi SQL Serverem a službou Active Directory.
Související témata