![]() |
Active Directory mit ADO Exception
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Zusammen,
ich verzweifle bald. Seit Stunden ochse ich hier rum Hier mein Programm
Delphi-Quellcode:
Wie Ihr seht habe ich eine Connection auf das AD gemacht und zum Testen eine auf einen SQL Server.
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. Wenn ich das Programm so laufen lasse bekomme ich bei
Delphi-Quellcode:
eine Exception (siehe Anhang).
ADOQuery1.SQL.Add(sql_str);
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. |
AW: Active Directory mit ADO Exception
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???? |
AW: Active Directory mit ADO Exception
Hi,
schau' mal hier, hat mir auch schon ein paar mal geholfen... ![]() Was du suchst nennt sich glaube ich Paged Result... Gruß Steku |
AW: Active Directory mit ADO Exception
oh, ja gut. ist begrenzt auf 1000 DS.
Danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz