472,119 Members | 1,942 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,119 software developers and data experts.

Recursive Stored Procedure

Hello Guys,

I am developing a web application to manage Active Directory resources, and one of my tasks is to map Organizational Units hierarchy into a SQL Server database. Let's suppose that I have the following OU hierarchy in my Active Direcoty:

1. NewYork
1.1 HR_Department
1.1.1 Computers
1.1.2 Users
1.2 SALES_Department
1.1.1 Computers
1.1.2 Users
1.3 So on.....
2. Chicago
2.1 HR_Department
1.1.1 Computers
1.1.2 Users
2.2 SALES_Department
2.1.1 Computers
2.1.2 Users
2.3 So on....

I designed the following table into SQL Server in order to reach the AD hierarchy:

OUId INT
// Just an integer ID to identify the row.

OUName VARCHAR(50)
// Name of OU that comes from AD.

ParentOUId INT
// Id of the parent OU to create as many levels as necessary.

The idea is to create a recursive table to store the hierarchy in a flexible way that there won't be any limitations in terms of creating as many sub OU as necessary. At this point goes my issue: I am having problems to create a store procedure to return whether a OU already exists or not.

Unfortunately Active Directory does not provide me a property that indicates who is parent OU. I can only identify the object structure by the distinguishedName property, which acording to my example returns something like:

OU=Computers,OU=HR_Deparment, OU=NewYork, DC=....

From this string, I convert it to an array:

[0] Computers
[1] HR_Department
[2] NewYork

From now on, I am stuck. I don't know how to create a recursive procedure or function in the context to return and create the AD Hierarchy.


Could anyone help with it?

Thank you very much for you attention!
Jul 18 '08 #1
3 2307
ck9663
2,878 Expert 2GB
I'd say use XML


-- CK
Jul 18 '08 #2
Hi,

Thank you for the answer!

I don't know how to approach it using XML.

Could you help me on how to start it?
Jul 18 '08 #3
Delerna
1,134 Expert 1GB
Here is a question similar to yours that you might find helpful.
Jul 18 '08 #4

Post your reply

Sign in to post your reply or Sign up for a free account.

Similar topics

3 posts views Thread by Robert Song | last post: by
2 posts views Thread by Dino L. | last post: by
4 posts views Thread by Henrik Juul | last post: by
3 posts views Thread by oregondba | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.