ADOConnection zu Active Directory
-
Hi folks
Ich verbinde mittels AdoConnection mit dem ActiveDirectory
mein Problem ist nun das die Select befehle scheinbar nicht funktionieren.
Verbinden
ADOConnection1->Connected = false; ADOConnection1->ConnectionString = "Provider=ADsDSOObject;Encrypt Password=False;Data Source='Ldap://dc=stadhamm';Mode=Read;Bind Flags=0;ADSI Flag=-2147483648"; ADOConnection1->Connected = true;Select
MyQuery->Close(); MyQuery->Connection = ADOConnection1; MyQuery->SQL->Clear(); MyQuery->SQL->Add("SELECT *"); MyQuery->SQL->Add("FROM all"); MyQuery->Open() ;MyQuery = AdoQuery
Bei dem SQL Befehl Select und folgende sagt er mir
Der Befehl enthält mindestens ein fehler.
ich hab mich schon in einigen foren umgesehen und auch in sachen ad "etwas" gelesen.
Ware für jese hilfe dankbar.
Greez
Sir Drinkalot
-
Hallo
solltest du statt "FROM all" nicht lieber "FROM <TableName>" nehmen? Sonst weiß der Server ja gar nicht, was für Datensätze er dir schicken soll.
Oder ist "all" ein Name einer Tabelle?bis bald
akari
-
Meine absicht war ja erstmal zu versuchen, egal was von dem AD zu bekommen.
Ich hab dann einfach mal den Select befehl so geändert
yQuery->SQL->Add("SELECT givenname from 'LDAP://DC=stadthamm.loc'");Dann sagt er die Tabelle würde es nicht geben.
das scheint dann aber schn wieder nichts mit borland zu tun zu haben oder???
-
Hallo
SirDrinkalot schrieb:
Meine absicht war ja erstmal zu versuchen, egal was von dem AD zu bekommen.
das geht nicht. du mußt immer präziße angeben, was du willst. Wenn du alle Tabellen einer Datenbank haben willst, mußt du für jede eine Abfrage machen
Ich hab dann einfach mal den Select befehl so geändert [cs]yQuery->SQL->Add("SELECT givenname from 'LDAP://DC=stadthamm.loc'"); [/cs] Dann sagt er die Tabelle würde es nicht geben.'LDAP://DC=stadthamm.loc'' ist doch kein Tabellenname! der Name muß genau so sein, wie er in der Datenbank angelegt wurde. Also kein Dateiname, sondern quasi der Alias dafür. Schau dir doch einfach mal die Borlandbeispiele unter <BCB-Path>\Examples\BDTasks an, da siehst du was gemeint ist.
das scheint dann aber schn wieder nichts mit borland zu tun zu haben oder???
Nein. Du scheiterst an der SQL-Syntax.
bis bald
akari
-
Das ist es ja eben.
Ich habe nochmal einen Kollegen gefragt,
der meinte es müsste nur anders geschrieben werden.und zwar so
MyQuery->SQL->Add("SELECT givenName from 'LDAP://DC=stadthamm,DC=loc'"); ADOConnection1->ConnectionString = "Provider=ADsDSOObject;Encrypt Password=False;Integrated Security=SSPI;Data Source=LDAP;Mode=Read;Bind Flags=0;ADSI Flag=-2147483648"Oder?! wie könnte eine AD Datenbank zu nennen sein.
User???
sorry wenn ich mich ein bisschen doof stelle,
ich würds nicht tun wenn ichs könnteGreez
-
Hallo
sorry die Syntax ist mir zu hoch.
Bei mir (MySQL) reichen einfache Tabellennamen und Feldnamen.
schau dich mal in SQL-Foren um.bis bald
akari
-
Ich denke, du solltest dir erstmal in einen ADO- bzw. MS-spezifischen Forum o.ä. die Details für so einen Zugriff besorgen, insbesondere eben die Syntax. Wenn du dann ein funktionierendes Beispiel hast (z.B. in VB) dann findest du hier sicher Leute, die versuchen, dir bei der Umsetzung zu helfen.