AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SELECT Distinct company .... aus LDAP
Thema durchsuchen
Ansicht
Themen-Optionen

SELECT Distinct company .... aus LDAP

Ein Thema von DerMike · begonnen am 5. Jan 2007 · letzter Beitrag vom 5. Jan 2007
Antwort Antwort
DerMike

Registriert seit: 4. Jan 2007
21 Beiträge
 
#1

SELECT Distinct company .... aus LDAP

  Alt 5. Jan 2007, 13:33
Datenbank: LDAP,SQL2000 • Zugriff über: ADO
Hallo,

da mir bei meinem letzten Problem so schnell geholfen wurde, probiere ich es gleich nochmals.

Ich baue eine Verbindung zu unserem Domänencontroler auf. (Funktioniert)
Ich lese Werte, in meinem Fall company, aus dem Active Directory aus. (Funktioniert)

So jetzt zu meinem Problem.

Da einige Mitarbeiter in der selben <company> angestellt sind, ich aber nur eine Liste aller <companys> haben möchte, sind einige Werte natürlich doppelt vorhanden. Diese Werte möchte ich nicht angezeigt bekommen.

Meine Lösung wäre gewesen:
SQL-Code:
SELECT distinct company
FROM 'LDAP://dc=domain,dc=local
WHERE objectclass='userand objectcategory='person'
Leider bekomme ich so immer ein Fehlermeldung.....

Im Projekt CRM.exe ist eine Exception der Klasse EOleExecption aufgetreten. Meldung: "Der Befehl enthielt mindestens einen Fehler'. Prozess wurde angehalten. Mit Einzelne Anw....... usw.

Kann mir jemand bei diesem Problem helfen???
----------
lg Mike
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: SELECT Distinct company .... aus LDAP

  Alt 5. Jan 2007, 13:57
Hallo Mike,

probiere es mal so:

SQL-Code:
SELECT DISTINCT i.company
FROM (
  SELECT company
  FROM 'LDAP://dc=domain,dc=local'
  WHERE objectclass='userand objectcategory='person'
) AS i
Eigentlich gehört ja eine Referenz auf company in den person entry und dann gäbe es dein Problem überhaupt nicht.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: SELECT Distinct company .... aus LDAP

  Alt 5. Jan 2007, 14:05
Wenn der LDAP OLE DB-Provider kein Distinct kennt/kann mußt du in einem Nachverarbeitungsschritt (z.B. mit TStringList) dupletten killen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
DerMike

Registriert seit: 4. Jan 2007
21 Beiträge
 
#4

Re: SELECT Distinct company .... aus LDAP

  Alt 5. Jan 2007, 14:19
Hallo,

wiedermal kamen die Antworten sehr schnell.

Leider funktioniert

SQL-Code:
SELECT DISTINCT i.company
FROM (
SELECT company
FROM 'LDAP://dc=tcm-i,dc=local
WHERE objectclass='userand objectcategory='person
) AS i
nicht.

Mit Stringlisten habe ich noch nie gearbeitet. Wie bringe ich die Daten in eine Stringlist??

Delphi-Quellcode:
 ADOQuery1.Active := TRUE;
 while not ADOQuery1.Eof do begin
  meADGefunden.Lines.Add(VarToStr(ADOQuery1.FieldValues['company']));
  ADOQuery1.Next;
 end;
und ich vermute, ich werde die Ergebnisse anstatt in ein Memo in eine Stringliste schreiben.
----------
lg Mike
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: SELECT Distinct company .... aus LDAP

  Alt 5. Jan 2007, 14:44
Zitat von DerMike:
Leider funktioniert ... nicht.
Stimmt, es kann erst dann funktionieren, wenn du eine heterogene Abfrage aufbaust. Dabei wird die äußere Abfrage mit dem normalen T-SQL Sprachumfang des MSSQL OLEDB Provider abgewickelt und die innere Abfrage über den LDAP Provider. Die Syntax müsstest du mal im Handbuch nachschlagen.

Freundliche Grüße
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz