AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Active Directory mit ADO Exception

Active Directory mit ADO Exception

Ein Thema von af99 · begonnen am 24. Apr 2014 · letzter Beitrag vom 24. Apr 2014
Antwort Antwort
af99

Registriert seit: 22. Apr 2004
84 Beiträge
 
Delphi XE5 Ultimate
 
#1

Active Directory mit ADO Exception

  Alt 24. Apr 2014, 15:00
Hallo Zusammen,

ich verzweifle bald. Seit Stunden ochse ich hier rum

Hier mein Programm
Delphi-Quellcode:
unit main;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Data.Win.ADODB, Vcl.StdCtrls,
  Vcl.Grids, Vcl.DBGrids;

type
  TForm5 = class(TForm)
    con_AD: TADOConnection;
    Button1: TButton;
    DBGrid1: TDBGrid;
    Button2: TButton;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    ADOConnection1: TADOConnection;
    ADOQuery2: TADOQuery;
    DataSource2: TDataSource;
    procedure Button1Click(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure Button2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);
begin
  con_AD.Close;
  Con_AD.ConnectionString := 'Provider=ADsDSOObject;User ID=XXXXXX;Password=XXXXX;Encrypt Password=True;Mode=Read'; //;Bind Flags=0;ADSI Flag=-2147483648';
  con_AD.LoginPrompt := False;
  con_AD.Open;


{
  ADOConnection1.ConnectionString := 'Provider=sqloledb;' +
                                      'Data Source=XXXX;'+
                                      'Initial Catalog=XXXXXX;'+
                                      'User Id=XXXX;' +
                                      'Password=XXXXX';
  ADOConnection1.LoginPrompt := False;
  ADOConnection1.Open;
}


end;

procedure TForm5.Button2Click(Sender: TObject);
var
  sql_str : string;
  domain : string;
begin
  SQL_str := 'select AdsPath, CN, SN from ' + quotedstr('LDAP://DC=XXXXX,DC=XX') + ' where objectclass=' + quotedstr('user') + ' ORDER by sn';

  //ShowMessage(sql_str);
  ADOQuery1.Active := false;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add(sql_str);

  try
    ADOQuery1.Active := true;
  except
    on e : Exception Do showmessage(e.Message);
  end;


{  SQL_str := 'select * from dateien';

  ADOQuery2.Active := false;
  ADOQuery2.SQL.Clear;
  ADOQuery2.SQL.Add(sql_str);

  try
    ADOQuery2.Active := true;
  except
    on e : Exception Do showmessage(e.Message);
  end;
}


end;

procedure TForm5.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  ADOQuery1.Active := false;
  con_AD.Close;
end;

end.
Wie Ihr seht habe ich eine Connection auf das AD gemacht und zum Testen eine auf einen SQL Server.

Wenn ich das Programm so laufen lasse bekomme ich bei

ADOQuery1.SQL.Add(sql_str); eine Exception (siehe Anhang).

Was ist falsch???? Ich setzte doch nur einen Text also das Statement in die Query. Ausführen tue ich sie doch erst später?!?!?!?!

Wenn ich die 2. Connection und die 2. Query (also die auf den SQL Server) nehme ist alles OK.
Miniaturansicht angehängter Grafiken
exception.jpg  
  Mit Zitat antworten Zitat
af99

Registriert seit: 22. Apr 2004
84 Beiträge
 
Delphi XE5 Ultimate
 
#2

AW: Active Directory mit ADO Exception

  Alt 24. Apr 2014, 15:44
ich habe dann in einem Anderen Thread gefunden das man paramcheck auf false stellen soll (warum auch immer). Danach ist die Exception weg.

Nun bekomme ich aber einen Fehler wenn ich mehr als 999 Datensätze abfrage (also mit repeat until über die gesamte Datenmenge laufe. Irgendwo meine ich schon mal gelesen zu haben das man im AD nur 1000 Datensätze abfragen kann. War das so????
  Mit Zitat antworten Zitat
Steku

Registriert seit: 12. Mai 2008
176 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

AW: Active Directory mit ADO Exception

  Alt 24. Apr 2014, 15:55
Hi,

schau' mal hier, hat mir auch schon ein paar mal geholfen...
http://www.selfadsi.de/search.htm#Forest
Was du suchst nennt sich glaube ich Paged Result...

Gruß
Steku
  Mit Zitat antworten Zitat
af99

Registriert seit: 22. Apr 2004
84 Beiträge
 
Delphi XE5 Ultimate
 
#4

AW: Active Directory mit ADO Exception

  Alt 24. Apr 2014, 16:02
oh, ja gut. ist begrenzt auf 1000 DS.

Danke
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 05:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf