Help with structuring SQL databases for multiple photo galleries..help!?!

Hello all,
As a new PHP/SQL developer I have found great technical assistance from both this forum and from David Powers and his wonderful books. I am at a crucial point in my web development and although I believe I know which direction I need to go, I am still uncertain and so I appeal to you all for your help, especially David Powers.
The website I am building is one which will house many photo galleries. I was able to successfully modify the code provided in David Powers’ book ‘php Solutions’ so that I got the photo galleries constructed and working in the manner I desired.
That being said, a person browsing my website will be presented with a link to see the photo galleries. There will be five (5) categories in which the photos will be separated, all based on specific styles. Now that I have the galleries working, I need to know how to structure things so that I can create a page, like a TOC (table o’ contents) that shows all photo galleries by displaying a thumbnail image or two along with the description. Perhaps I’ll limit the TOC page to only show the latest 25 galleries, arranged with the most current always on top.
The way I have my galleries set up, I have a separate database for each one, containing the photo filenames and other relevant data. To build my TOC structure, should I have an overall database that contains each gallery database filename along with category? This is where I have no idea what I’m doing so if my question sounds vague, please understand I have no other idea how to ask.
The site will grow to the point of having hundreds, if not thousands of photo galleries. I simply want to know how to (organize them) or otherwise allow me to build a method to display them in a TOC page or pages.
I know this is a bit dodgy, but with some info and questions back from you, I feel confident that I should be able to get my point across.
Lastly, I am still developing this site locally, so I have no links to provide (though I feel that shouldn’t be necessary right now).
Many sincere thanks to you all in advance,
wordman

bregent,
I'm chewing this over in my head, reading up on DB's in 'phpSolutions' and I think that things are slowly materializing.
Here is the structure of the website that I have planned:
MAIN PAGE
User is presented with a link on the main page to select photo galleries (other links are also present). Clicking the link takes them to the Category Page.
CATEGORY PAGE
On this page, the User will then have 5 choices based on categories (photo style). CLicking any of these 5 links will take them to respective TOC pages.
TOC PAGE
On this page, the user is greeted with a vertical list of galleries or photosets; one to three thumbs on the left, a small block of descriptive text on the right (ideally containing date/time info to show how recent the gallery is). Newest galleries appear at the top. Eventually, when there are tens or hundreds of galleries in any given catrgory, I'll need to adopt a method for breaking up the qualntity in groups (we can pick 20 for example) that can be scrolled through using a small navbar. This will keep the TOC Pages from getting endlessly long and avoid endless scrolling. User selects a gallery on this page to view.
THUMBNAIL PAGE
On choosing a gallery, a thumbnail page is generated (I have this working already)
IMAGE PAGE
On selecting any thumbnail in the grid, the user is taken to the full-sized photo with a navbar and photo counter at the top. Navlinks allow forward and back, a link to the first image, a link to the last image and one link back to the thumbnail page. (I have this working already).
I provide this info in an effort to help understand the basic structure of my site. The description above is as close to a step-by-step illustration as possible.
Thank you!
Sincerely,
wordman

Similar Messages

  • Single Azure SQL Database for Multiple Azure Websites.

    Hi,
    I have start an instance of Azure Website with an instance of Azure SQL. So, they're give perfect work for me. Then, I've started a new instance of Azure Website and tried to use the same connection string as the old one but it's doesn't work! I got the
    exception "Login failed for user '...'" 
    It's urgently case because due-date is coming closer. Please help me to solve it.
    Thank you.
    P.S. Sorry for my bad English. 

    Hi,
    Thank you for your post.
    Please have a check on the below links and check if it helps.
    http://msdn.microsoft.com/en-us/library/azure/ee336282.aspx
    http://support.microsoft.com/kb/2980233/en-us
    Regards,
    Mekh.

  • I need to host a website with a SQL database - Azure pricing details are too confusing

    Hello,
    I need to give a potential client a hosting price for a somewhat simple web application they want me to build. I told them it shouldn't be a problem. After gathering the requirements, I figured I would use the following technology to build and host
    it:
    ASP.NET 4.5
    MVC 5
    1 SQL Database ~ 25GB with options to expand and also with a backup
    SSL certificate needed
    Hosting would be on Azure because I have some experience using Visual Studio 2012 and integrating the Visual Studio Online (TFS) source code and scrum web applications. I've never actually spun up a website with a SQL database using Azure before, but I
    imagined it wasn't too difficult to find a general hosting plan to support the above requirements.
    The use of the website will be very simple and limited to the basic CRUD operations. Will support forms authentication using the Identity 2.0 framework. The web applications main purpose is to fill out a form for new accounts, have a search page for
    those accounts, a page to view a created account and add notes to it. So performance wise, it isn't asking for much. I just want it to be fast and secure.
    So I start looking on the Azure's pricing landing page which is here: (can't put links in here, but search Azure pricing on Bing) and I see this Pricing Calculator, so I click it
    First thing I notice is the Websites tab doesn't mention SQL Database - in fact the Data Management is a separate tab from Websites. And if I made my selections on the Websites tab, the estimated monthly price doesn't stay the same when I go to the Data
    Management tab - so I get the illusion I have to have two separate purchases.
    I'm not exactly sure if the Pay as You Go billing feature would be okay because it's just a bit scary to leave every monthly payment up to chance; somewhat. Would love to know if there is other payment options that I could see for what I described above.
    I want to use Azure to host my asp.net website - it makes sense and the integration with Visual Studio is amazing. I love the publish feature for both MVC 5 Projects and SQL Database Projects.
    Thanks in advance for the help!

    Hello jdevanderson,
    I suggest that you start by looking at the pricing TIERS for the Azure website. This link will give you clarity on different Service TIERS that are availaible:
    http://azure.microsoft.com/en-in/pricing/details/websites/
    You can guage your requirement and choose the Service TIER accordingly.
    And regarding the database, you are right about it. You will be charged seperately for the database. You can refer to this link that will give you clarity on SQL database pricing:
    http://azure.microsoft.com/en-in/pricing/details/sql-database/
    Refer to this link for more information on 'How pricing works':
    http://azure.microsoft.com/en-in/pricing/
    Use the full calculator to add your website and the database to get an estimated cost:
    http://azure.microsoft.com/en-in/pricing/calculator/?scenario=full
    Thanks,
    Syed Irfan Hussain

  • Problems with Multiple Photo Galleries

    Hey all, I am having issues with multiple photo galleries. The problem is, iWeb will randomly delete old photo libraries when new ones are made.
    My workflow is each blog entry has its own Photo Library attached to it, so i really would love to be able to keep this functionality.
    Does anyone have any clues as to why they are getting deleted? They literally just vanish from the entries in iWeb...
    Many thanks, Matt

    mattperrott wrote:
    Each blog entry has a iweb photo gallery attached to it. I create these by duplicating a previous blog entry, and changing the details as well as the photos contained inside.
    Matt ~ Even without adding such complexity, many people have problems with their iWeb blog. So even if someone helps you to solve this problem, you may then be back with a different iWeb blog problem: Lost all your blog entries or all your comments or unable to publish, etc.
    mattperrott wrote:
    Any thoughts on why this might happen?
    The simple answer is that Apple's implementation of iWeb's blog appears to be buggy. Every day on these forums you'll likely see a couple of problems with iWeb's blog, often "solved" like this: +"I deleted my blog page, and was able to successfully publish the site"+. Also, if you ever have to re-publish everything (say, after upgrading iWeb) you'll wish you had a web-based blog.
    mattperrott wrote:
    This isnt a problem currently but if i ever need to republish my entire site it is a potential killer, especially as it grows...
    The person who posted the following thread had similar concerns saying: +"...I get the feeling when this gets bigger, it'll outgrow iWeb's capability."+ Read his solution here:
    _To blog or not to blog_
    And to link to an external blog from iWeb's navbar:
    Create a blank internal page titled "Blog" (Actually you can name the page whatever you want.) Then in that Blog page add an HTML Snippet with the following code:
    <script type="text/javascript">
    parent.window.location = "http://www.yourblogname.com"; // change this to your own URL
    </script>
    ...Once published, clicking on "Blog" in the navbar will immediately redirect to your external Blog page. (Thanks to Cyclosaurus for the code).
    By the way, rather than posting your URL in these forums like this:
    www.local-hero.com.au
    ...include the prefix to make it conveniently clickable:
    http://www.local-hero.com.au

  • Develop: copy after to before for multiple photos?

    Is there a way to copy after settings to the before settings (that of each photo) for multiple photos?
    I find that I forget to do that after editing a photo. Then saving edits back to the file (cmd-S) flushes the before settings. I've been visiting every single photo to copy the 'after' settings to the 'before' settings.
    Thanks.

    Hi All -- I'm going to ask this question again as the issue continues to vex me.
    I'm now using LR 2.2. The changes flushed to a image file (I use DNG) reflect the current 'before settings' in the develop module. In order to get recent develop module changes into the image file, one has to first execute "Copy After's Settings to Before", then save the image settings (cmd-S). That seems totally reasonable.
    Here's my problem. I visit lots of images making edits. I don't always remember to "Copy After's Settings to Before" after making edits. In order to determine which image's I've made changes to I step through all my images in the develop module using the before/after view, executing "Copy After's Settings to Before". This is a big hassle. I need a better approach. First I don't always know which images I've edited and I usually don't care anyway. What I want is a macro that will perform "Copy After's Settings to Before" for multiple images. Is there such a feature or is this missing from LR?

  • Need help with EVENT BOOKING: option for multiple, payment (pay pal standard or pro only) add cost, etc

    Hello!
    I'm at my wits end: please help! It seems straight forward, and I sold my client on BC thinking this was doable in the events module, but it seems maybe not so without a ton of custom coding.
    1. Book an event online,
    with option for multiple (say 1-5 people at a fixed cost per person),
    and checkout using only Pay Pal (standard or pro, doesn't matter, but I think Standard won't work without shopping cart).
    2. The events are every day but Sunday all year long (just admission to an attraction), so is there a way to upload months in advance so they don't have to be manually entered?
    I'm so grateful for any assistance.

    This is all very achievable:
    • Events you can add multiple people to book.
    • PayPal you use use our APP that's in the BC Appstore (Liam to confirm is works with bookings)
    I'm sales and marketing at Pretty, so I'm not the person to advise on how all this fits together. But I'm sure Liam can point you in the right direction.
    If you need some consulting or us to do it for you just let me know [email protected]
    Brett
    www.prettydigital.com.au

  • Form created with Livecycle Designer with a SQL database - do you need LiveCycle Forms installed?

    Hello,
    I'm REALLY hoping someone here can help me, I have spent over four hours on the phone to Adobe in the last 3 days and I'm getting no where what-so-ever. I can't even find out where /how to complain about it! (but thats another story)
    Here's my situtation:
    I work for a company with approx 140 staff. On one computer, we have Adobe Livecycle Designer ES installed, and we have used that program to create a form which has a link to a SQL database.
    The link in this form doesn't work on the other computers which has the basic (free) Adobe Reader. From doing research within these forums
     , I have found that the form will not work on other computers unless they have Adobe Livecycle forms installed on their machines. 
    What I need to know (and what they cannot seem to tell me when I call), is two things:
    Is it correct that in order to use a form created in Livecycle Designer which has a link to a SQL database, that the machine must have LiveCycle forms installed?
    How much does Adobe LiveCycle Forms costs?
    PLEASE, if you can answer this question, I would REALLY appriciate it....
    Thank you!

    I presume you are asking if you need Livecycle Forms ES? Forms ES is a component of the livecycle software suite intended as a document service which will be installed on a server within the organisation. A couple of things this document service can do is to render XDP into multiple formats (PDF, html, etc.), execute script server side (for example the database connection) on behalf of the client (reader, etc.), integrate with backend components, etc. So no you do not install this on each client.
    For database connections to work, you either have a server with Forms ES installed which can connect on each clients behalf (ie. Client->Forms ES Server->Database), or you have a reader-extended PDF to allow connections to be use in the free basic Reader (i.e. direct calls to the database or using web service calls to your own database components). However, reader-extended pdf would probably require Reader Extensions ES component installed on a server (you once off extend your developed pdf through this and then hand it out to each of the end users). Not sure if the Acrobat Reader extensions will cover this functionality since I have not tried that. I dont think it does. Otherwise you would need full acrobat on each client.
    How much database integration is your form actually doing at the moment? read only? Full access? And how many clients do you expect to hit your database? Depending on what you need the form to do, there is always the option to try and build the integration yourself. Do simple http submits from the browser (hosting reader as a plugin) to some component somewhere which in turn hits your database. Wouldnt require additional licensing but alot more development work.
    As for cost for the various components, thats a question only Adobe can answer for you since they all sit squarely in the enterprise space and licensing for that is not as simple as off the shelf products.
    Maybe someone else has a view on it or has an alternative.

  • Enterprise studio Configuration pbm with MS SQL Database 2005.

    We are using MS SQL 2005 database in our project. While configuring Oracle 10g Enterprise studio with database we are getting the following exception.
    weblogic.application.ModuleException:
    [<I> 10/06/09 21:43:24]      at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:289)
    [<I> 10/06/09 21:43:24]      at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
    [<I> 10/06/09 21:43:24]      at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:387)
    [<I> 10/06/09 21:43:24]      at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    [<I> 10/06/09 21:43:24]      at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:58)
    [<I> 10/06/09 21:43:24]      at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:42)
    [<I> 10/06/09 21:43:24]      at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:615)
    [<I> 10/06/09 21:43:24]      at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    [<I> 10/06/09 21:43:24]      at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191)
    [<I> 10/06/09 21:43:24]      at weblogic.application.internal.SingleModuleDeployment.prepare(SingleModuleDeployment.java:16)
    [<I> 10/06/09 21:43:24]      at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:155)
    [<I> 10/06/09 21:43:24]      at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
    [<I> 10/06/09 21:43:24]      at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:197)
    [<I> 10/06/09 21:43:24]      at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:89)
    [<I> 10/06/09 21:43:24]      at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
    [<I> 10/06/09 21:43:24]      at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:723)
    [<I> 10/06/09 21:43:24]      at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1190)
    [<I> 10/06/09 21:43:24]      at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:216)
    [<I> 10/06/09 21:43:24]      at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
    [<I> 10/06/09 21:43:24]      at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
    [<I> 10/06/09 21:43:24]      at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.prepare(DeploymentReceiverCallbackDeliverer.java:40)
    [<I> 10/06/09 21:43:24]      at weblogic.deploy.service.internal.statemachines.targetserver.AwaitingContextUpdateCompletion.callDeploymentReceivers(AwaitingContextUpdateCompletion.java:164)
    [<I> 10/06/09 21:43:24]      at weblogic.deploy.service.internal.statemachines.targetserver.AwaitingContextUpdateCompletion.handleContextUpdateSuccess(AwaitingContextUpdateCompletion.java:66)
    [<I> 10/06/09 21:43:24]      at weblogic.deploy.service.internal.statemachines.targetserver.AwaitingContextUpdateCompletion.contextUpdated(AwaitingContextUpdateCompletion.java:32)
    [<I> 10/06/09 21:43:24]      at weblogic.deploy.service.internal.targetserver.TargetDeploymentService.notifyContextUpdated(TargetDeploymentService.java:225)
    [<I> 10/06/09 21:43:24]      at weblogic.deploy.service.internal.DeploymentService$1.run(DeploymentService.java:189)
    [<I> 10/06/09 21:43:24]      at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
    [<I> 10/06/09 21:43:24]      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    [<I> 10/06/09 21:43:24]      at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    [<I> 10/06/09 21:43:24] Caused by: weblogic.common.ResourceException: [BEA][SQLServer JDBC Driver][SQLServer]xa_open (0) returns -3
    [<I> 10/06/09 21:43:24]      at weblogic.jdbc.common.internal.XAConnectionEnvFactory.makeConnection(XAConnectionEnvFactory.java:454)
    [<I> 10/06/09 21:43:24]      at weblogic.jdbc.common.internal.XAConnectionEnvFactory.createResource(XAConnectionEnvFactory.java:154)
    [<I> 10/06/09 21:43:24]      at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1109)
    [<I> 10/06/09 21:43:24]      at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1033)
    [<I> 10/06/09 21:43:24]      at weblogic.common.resourcepool.ResourcePoolImpl.start(ResourcePoolImpl.java:214)
    [<I> 10/06/09 21:43:24]      at weblogic.jdbc.common.internal.ConnectionPool.doStart(ConnectionPool.java:1051)
    [<I> 10/06/09 21:43:24]      at weblogic.jdbc.common.internal.ConnectionPool.start(ConnectionPool.java:146)
    [<I> 10/06/09 21:43:24]      at weblogic.jdbc.common.internal.ConnectionPoolManager.createAndStartPool(ConnectionPoolManager.java:385)
    [<I> 10/06/09 21:43:24]      at weblogic.jdbc.common.internal.ConnectionPoolManager.createAndStartPool(ConnectionPoolManager.java:326)
    [<I> 10/06/09 21:43:24]      at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:251)
    [<I> 10/06/09 21:43:24]
    [<I> 10/06/09 21:43:24]
    [<I> 10/06/09 21:43:24] Exiting WebLogic Scripting Tool.
    [<I> 10/06/09 21:43:24]

    Hi,
    Quick question. Have you configured SQL Server for XA? This is sometimes my problem installing Oracle BPM Enterprise running on WebLogic for SQL Server.
    Specifically, here are the steps I follow to configure XA. I've heard you can also follow the instructions included with WebLogic Server (http://e-docs.bea.com/wls/docs92/jdbc_drivers/mssqlserver.html#wp1075232). However the short instructions provided below also describes how to do this:
    1) Copy <WebLogic Home>\weblogic\server\lib\sqljdbc.dll to C:\Program Files\Microsoft SQL Server\MSSQL\Binn
    2) Copy <WebLogic Home>\weblogic\server\lib\instjdbc.sql to C:\Program Files\Microsoft SQL Server\MSSQL\Binn
    3) Also copy the same files to C:\Program Files\Microsoft SQL Server\80\Tools\Binn
    4) Execute "C:\Program Files\Microsoft SQL Server\80\Tools\Binn\isql.exe" -Usa -Ppassword -Slocalhost -i"c:\Program Files\Microsoft SQL Server\MSSQL\Binn\instjdbc.sql"
    5) Using regedit, set the property HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC\Security\XaTransactions to 1 (instead of 0)
    6) In addition, you may also need to do following step (if not configured already – check whether it is already done before making these changes.
    Create a registry named-value:
    a. Use Registry Editor and navigate to registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\XADLL
    b. Create a new registry named-value:
    * Name is the file name of the XA DLL (in the format dllname.dll)
    * Type is String (REG_SZ)
    * Value is the full path name (including the file name) of the DLL file
    Name: sqljdbc.dll     
    Type: String (REG_SZ)
    Value: c:\Program Files\Microsoft SQL Server\MSSQL\Binn\sqljdbc.dll
    c. Note: You must create an entry for each XA DLL file that you plan to use. Also, if you are configuring MS DTC on a cluster, you must create these registry entries on each node in the cluster.
    7) Using the SQL Server Service Manager (available from the Start menu), restart SQL Server and the Distributed Transaction Coordinator
    Hope this helps,
    Dan
    Edited by: Daniel Atwood on Jun 11, 2009 6:29 AM

  • SAP Netweaver MDM 7.1 Installation with MS SQL Database

    Hello Experts,
    I have installed MDM  7.1 System on IBM AIX and connected to Oracle database. I have observed whenever we create Repositories MDM Created Table Spaces/ Data files under the one Oracle_SID that is how it should be . Now we had to install MDM  on windows machines using with MS SQL DB. I have installed it and connected to MS SQL Server.
    The problem is when ever we create or copy new repositories it is creating new database for each repository under MS SQL Server, Although we have created a separate SQL Database and mentioned the same name while initializing the database connection.
    Example while connecting MDM For first time to the DB , I have used 4 schema options , Now if i create a new repository it is creating 4 Database instances under MS SQL DB. On oracle it will just create Table Spaces.
    Is there any one who worked on MDM Using MS SQL DB. Is this a problem or This is how it works on MS SQL  ?
    Please help , I really appreciate your help.
    Thanks,
    Ravi

    Hi Ravi,
    As per my understanding this is the standard behavior of MS SQL Database. I think this is how it works.
    Please Refer, Step III>> of this blog where he states that For each repository, there are two databases XXXX_m000 and XXXX_z000. /people/balas.gorla/blog/2006/09/08/change-tracking-in-mdm
    Also refer,  Here it says connect to database for repository.
    Step 3) Connect to Database u2013 RepositoryName_Z000 and then open table A2i_CM_History http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/10cbe10c-0654-2c10-3d8b-ff99dadc402e?quicklink=index&overridelayout=true
    Regards,
    Mandeep Saini

  • VBScript linking to SQL Database for file transfer information.

    I have been all over google and can't find anything that can use VBScript to look at an SQL database and based on what it contains, transfer files, I am not great with VBScript,
    still learning and at a BASIC LEVEL.  I can picture what I need but have no idea how to compose.
    The SQL database has 6 columns and I am trying to achieve the following.
    Database & Table : [FILE_TRANSFER].[dbo].[MAIN_FILE_TRANSFER_OUTPUT]
    Columns : [DESTURL1 ], [DESTURL2], [DESTURL3], [FullSource], [FullDestination], [DeleteFileAfterTransfer]
    Criteria required
    Does file exist within [FullSource]
    If yes Next if no, look to next [Fullsource]
    Does DESTURL1 exist No (Create) if yes Next
    Does DESTURL2 exist No (Create) if yes Next
    Does DESTURL3 exist No (Create) if yes Next
    Copy [Fullsource] to [FullDestination]
    (example : [Fullsource] c:\myfile.xls to [FullDestination] c:\thisismyfile.xls (Name change within [FullDestination])
    If [DeleteFileAfterTransfer] = Yes, delete transferred file [FullSource]

    TO extract SQL data to a file we would use BCP which is the main data extraction utility for SQLServer.
    Post you questions in the SQLServer forum and they will help you.
    There is no reason to use VBScript for this.  It is the wrong tool.
    ¯\_(ツ)_/¯

  • Sync AD user credentials with a SQL database

    Hi folks!
    I need some help to how Sync the user and password from my Active Directory, to a SQL Database.
    Actualy, my enviroment have a database with users and password added, my custom applications uses it like a passport, but now I want to use Active Directory to control these users, but I can't use windows authentication in my old apps. I was reading about
    Forefront Identity Manager to do this, but I need a free solution.
    The Sharepoint database sync user credentials with AD? Any ideas how I can do this?
    Thanks in advance!
    MCTS Exchange 2010. @pedrongjr

    Looks like you need a linked SERVER to AD
    create table #t (email varchar(100),sAMAccountName varchar(100),EmployeeID varchar(100))
    insert into  #t Exec master..spQueryAD 'SELECT EmployeeID, SamAccountName, mail
     FROM ''LDAP://dc=companyname,dc=com'' WHERE objectCategory=''person'' and objectclass=''user''', 0
    USE [master]
    GO
    /****** Object:  StoredProcedure [dbo].[spQueryAD]    Script Date: 17/03/2014 13:56:45 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER procedure [dbo].[spQueryAD] (@LDAP_Query varchar(255)='', @Verbose bit=0)
    as
    --verify proper usage and display help if not used properly
    if @LDAP_Query ='' --argument was not passed
        BEGIN
        Print ''
        Print 'spQueryAD is a stored procedure to query active directory without the default 1000 record LDAP query limit'
        Print ''
        Print 'usage -- Exec spQueryAD ''_LDAP_Query_'', Verbose_Output(0 or 1, optional)'
        Print ''
        Print 'example: Exec spQueryAD ''SELECT EmployeeID, SamAccountName FROM ''''LDAP://dc=domain,dc=com'''' WHERE objectCategory=''''person'''' and objectclass=''''user'''''', 1'
        Print ''
        Print 'spQueryAD returns records corresponding to fields specified in LDAP query.'
        Print 'Use INSERT INTO statement to capture results in temp table.'
        Return --'spQueryAD aborted'
        END
    --declare variables
    DECLARE @ADOconn INT -- ADO Connection object
          , @ADOcomm INT -- ADO Command object
          , @ADOcommprop INT -- ADO Command object properties pointer
          , @ADOcommpropVal INT -- ADO Command object properties value pointer
          , @ADOrs INT -- ADO RecordSet object
          , @OLEreturn INT -- OLE return value
          , @src varchar(255) -- OLE Error Source
          , @desc varchar(255) -- OLE Error Description
          , @PageSize INT -- variable for paging size Setting
          , @StatusStr char(255) -- variable for current status message for verbose output
    SET @PageSize = 1000 -- IF not SET LDAP query will return max of 1000 rows
    --Create the ADO connection object
    IF @Verbose=1
        BEGIN
        Set @StatusStr = 'Create ADO connection...'
        Print @StatusStr
        END
    EXEC @OLEreturn = sp_OACreate 'ADODB.Connection', @ADOconn OUT
    IF @OLEreturn <> 0 
        BEGIN -- Return OLE error
              EXEC sp_OAGetErrorInfo @ADOconn , @src OUT, @desc OUT
              SELECT Error=CONVERT(varbinary(4),@OLEreturn), Source=@src, Description=@desc
              RETURN
        END
    IF @Verbose=1 Print Space(len(@StatusStr)) + 'done.'
    --SET the provider property to ADsDSOObject to point to Active Directory
    IF @Verbose=1
        BEGIN
        Set @StatusStr = 'Set ADO connection to use Active Directory driver...'
        Print @StatusStr
        END
    EXEC @OLEreturn = sp_OASETProperty @ADOconn , 'Provider', 'ADsDSOObject'
    IF @OLEreturn <> 0 
        BEGIN -- Return OLE error
              EXEC sp_OAGetErrorInfo @ADOconn , @src OUT, @desc OUT
              SELECT Error=CONVERT(varbinary(4),@OLEreturn), Source=@src, Description=@desc
              RETURN
        END
    IF @Verbose=1 Print Space(len(@StatusStr)) + 'done.'
    --Open the ADO connection
    IF @Verbose=1
        BEGIN
        Set @StatusStr = 'Open the ADO connection...'
        Print @StatusStr
        END
    EXEC @OLEreturn = sp_OAMethod @ADOconn , 'Open'
    IF @OLEreturn <> 0 
        BEGIN -- Return OLE error
              EXEC sp_OAGetErrorInfo @ADOconn , @src OUT, @desc OUT
              SELECT Error=CONVERT(varbinary(4),@OLEreturn), Source=@src, Description=@desc
              RETURN
        END
    IF @Verbose=1 Print Space(len(@StatusStr)) + 'done.'
    --Create the ADO command object
    IF @Verbose=1
        BEGIN
        Set @StatusStr = 'Create ADO command object...'
        Print @StatusStr
        END
    EXEC @OLEreturn = sp_OACreate 'ADODB.Command', @ADOcomm OUT
    IF @OLEreturn <> 0 
        BEGIN -- Return OLE error
              EXEC sp_OAGetErrorInfo @ADOcomm , @src OUT, @desc OUT
              SELECT Error=CONVERT(varbinary(4),@OLEreturn), Source=@src, Description=@desc
              RETURN
        END
    IF @Verbose=1 Print Space(len(@StatusStr)) + 'done.'
    --SET the ADO command object to use the connection object created first
    IF @Verbose=1
        BEGIN
        Set @StatusStr = 'Set ADO command object to use Active Directory connection...'
        Print @StatusStr
        END
    EXEC @OLEreturn = sp_OASETProperty @ADOcomm, 'ActiveConnection', 'Provider=''ADsDSOObject'''
    IF @OLEreturn <> 0 
        BEGIN -- Return OLE error
              EXEC sp_OAGetErrorInfo @ADOcomm , @src OUT, @desc OUT
              SELECT Error=CONVERT(varbinary(4),@OLEreturn), Source=@src, Description=@desc
              RETURN
        END
    IF @Verbose=1 Print Space(len(@StatusStr)) + 'done.'
    --Get a pointer to the properties SET of the ADO Command Object
    IF @Verbose=1
        BEGIN
        Set @StatusStr = 'Retrieve ADO command properties...'
        Print @StatusStr
        END
    EXEC @OLEreturn = sp_OAGetProperty @ADOcomm, 'Properties', @ADOcommprop out
    IF @OLEreturn <> 0 
        BEGIN -- Return OLE error
              EXEC sp_OAGetErrorInfo @ADOcomm , @src OUT, @desc OUT
              SELECT Error=CONVERT(varbinary(4),@OLEreturn), Source=@src, Description=@desc
              RETURN
        END
    IF @Verbose=1 Print Space(len(@StatusStr)) + 'done.'
    --SET the PageSize property
    IF @Verbose=1
        BEGIN
        Set @StatusStr = 'Set ''PageSize'' property...'
        Print @StatusStr
        END
    IF (@PageSize IS NOT null) -- If PageSize is SET then SET the value
    BEGIN
        EXEC @OLEreturn = sp_OAMethod @ADOcommprop, 'Item', @ADOcommpropVal out, 'Page Size'
        IF @OLEreturn <> 0 
            BEGIN -- Return OLE error
                  EXEC sp_OAGetErrorInfo @ADOcommprop , @src OUT, @desc OUT
                  SELECT Error=CONVERT(varbinary(4),@OLEreturn), Source=@src, Description=@desc
                  RETURN
            END
        EXEC @OLEreturn = sp_OASETProperty @ADOcommpropVal, 'Value','1000'
        IF @OLEreturn <> 0 
            BEGIN -- Return OLE error
                  EXEC sp_OAGetErrorInfo @ADOcommpropVal , @src OUT, @desc OUT
                  SELECT Error=CONVERT(varbinary(4),@OLEreturn), Source=@src, Description=@desc
                  RETURN
            END
    END
    IF @Verbose=1 Print Space(len(@StatusStr)) + 'done.'
    --SET the SearchScope property to ADS_SCOPE_SUBTREE to search the entire subtree 
    IF @Verbose=1
        BEGIN
        Set @StatusStr = 'Set ''SearchScope'' property...'
        Print @StatusStr
        END
    BEGIN
        EXEC @OLEreturn = sp_OAMethod @ADOcommprop, 'Item', @ADOcommpropVal out, 'SearchScope'
        IF @OLEreturn <> 0 
            BEGIN -- Return OLE error
                  EXEC sp_OAGetErrorInfo @ADOcommprop , @src OUT, @desc OUT
                  SELECT Error=CONVERT(varbinary(4),@OLEreturn), Source=@src, Description=@desc
                  RETURN
            END
        EXEC @OLEreturn = sp_OASETProperty @ADOcommpropVal, 'Value','2' --ADS_SCOPE_SUBTREE
        IF @OLEreturn <> 0 
            BEGIN -- Return OLE error
                  EXEC sp_OAGetErrorInfo @ADOcommpropVal , @src OUT, @desc OUT
                  SELECT Error=CONVERT(varbinary(4),@OLEreturn), Source=@src, Description=@desc
              RETURN
        END
    END
    IF @Verbose=1 Print Space(len(@StatusStr)) + 'done.'
    --SET the Asynchronous property to True
    IF @Verbose=1
        BEGIN
        Set @StatusStr = 'Set ''Asynchronous'' property...'
        Print @StatusStr
        END
    BEGIN
        EXEC @OLEreturn = sp_OAMethod @ADOcommprop, 'Item', @ADOcommpropVal out, 'Asynchronous'
        IF @OLEreturn <> 0 
            BEGIN -- Return OLE error
                  EXEC sp_OAGetErrorInfo @ADOcommprop , @src OUT, @desc OUT
                  SELECT Error=CONVERT(varbinary(4),@OLEreturn), Source=@src, Description=@desc
                  RETURN
            END
        EXEC @OLEreturn = sp_OASETProperty @ADOcommpropVal, 'Value',True
        IF @OLEreturn <> 0 
            BEGIN -- Return OLE error
                  EXEC sp_OAGetErrorInfo @ADOcommpropVal , @src OUT, @desc OUT
                  SELECT Error=CONVERT(varbinary(4),@OLEreturn), Source=@src, Description=@desc
                  RETURN
        END
    END
    IF @Verbose=1 Print Space(len(@StatusStr)) + 'done.'
    --Create the ADO Recordset to hold the results of the LDAP query
    IF @Verbose=1
        BEGIN
        Set @StatusStr = 'Create the temporary ADO recordset for query output...'
        Print @StatusStr
        END
    EXEC @OLEreturn = sp_OACreate 'ADODB.RecordSET',@ADOrs out
    IF @OLEreturn <> 0 
        BEGIN -- Return OLE error
              EXEC sp_OAGetErrorInfo @ADOrs , @src OUT, @desc OUT
              SELECT Error=CONVERT(varbinary(4),@OLEreturn), Source=@src, Description=@desc
              RETURN
        END
    IF @Verbose=1 Print Space(len(@StatusStr)) + 'done.'
    --Pass the LDAP query to the ADO command object
    IF @Verbose=1
        BEGIN
        Set @StatusStr = 'Input the LDAP query...'
        Print @StatusStr
        END
    EXEC @OLEreturn = sp_OASETProperty @ADOcomm, 'CommandText', @LDAP_Query 
    IF @OLEreturn <> 0 
        BEGIN -- Return OLE error
              EXEC sp_OAGetErrorInfo @ADOcomm , @src OUT, @desc OUT
              SELECT Error=CONVERT(varbinary(4),@OLEreturn), Source=@src, Description=@desc
              RETURN
        END
    IF @Verbose=1 Print Space(len(@StatusStr)) + 'done.'
    --Run the LDAP query and output the results to the ADO Recordset
    IF @Verbose=1
        BEGIN
        Set @StatusStr = 'Execute the LDAP query...'
        Print @StatusStr
        END
    Exec @OLEreturn = sp_OAMethod @ADOcomm, 'Execute' ,@ADOrs OUT
    IF @OLEreturn <> 0 
        BEGIN -- Return OLE error
              EXEC sp_OAGetErrorInfo @ADOcomm , @src OUT, @desc OUT
              SELECT Error=CONVERT(varbinary(4),@OLEreturn), Source=@src, Description=@desc
              RETURN
        END
    IF @Verbose=1 Print Space(len(@StatusStr)) + 'done.'
    --Return the rows found
    IF @Verbose=1
        BEGIN
        Set @StatusStr = 'Retrieve the LDAP query results...'
        Print @StatusStr
        END
    EXEC @OLEreturn = sp_OAgetproperty @ADOrs, 'getrows'
        IF @OLEreturn <> 0 
        BEGIN -- Return OLE error
              EXEC sp_OAGetErrorInfo @ADOrs , @src OUT, @desc OUT
              SELECT Error=CONVERT(varbinary(4),@OLEreturn), Source=@src, Description=@desc
              RETURN
        END
    IF @Verbose=1 Print Space(len(@StatusStr)) + 'done.'
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • Date and Time adjustments for multiple photos

    Hello, thanks for providing the space for new users, and thanks in advance for your assistance.
    I am currently moving out of apple aperture/iphoto and across to lightroom 5.
    The OCD part of me likes to have my library organized, and I noticed that when I transferred my library across it is in a bit of a mess, so I am currently in the process of organizing the library and cleaning it up (approximately 18000 photos)
    Any how, I have almost settled on a folder structure (YYYY/MM - I feel for the number of photos I have trying to nut down to day might be to much - happy to receive advise on this also)
    For the most part, the photos have correct date and time from the commencement of the digital era (for me 2006 onwards)
    Photos pre 2006 are in negative form, and I am currently in process of having these scanned and imported into library, I have a batch done every month.  Adjusting the date and time from the creation date is where I am running into trouble.
    I have looked around the web and various forums to no avail.
    Firstly, I organize the photos into the correct order.  I then select the first photo and the then select the remaining photos.  I then select the adjust date/time from the menu and select the first option, adjust to new date and time, lets say 01/01/1990 at 1200 PM.
    The result I end up with is the first photo (the more selected photo if correct term) has 01/01/1990 @ 1200 as date and time, the remaining have 01/01/1990 as date (if I am lucky), and the times jump all over the place.  Sometimes it wont even change the date time for the remaining photos.
    What I am trying to achieve is either the same Date/Time for all the photos when I select a batch, or have them increment in time by a standard amount (i.e 1 minute (1200/1201/1202) or 1 second (1200:00/1200:01/1200:02)), and I just dont seem to be able to work this out to automatically do this, currently I have to achieve this by a manual adjusting each photo (some 200 at a time) which is really labor intensive
    Thanks in advance, and hoping an easy solution
    Regards
    Dean

    Thanks, that seemed to fix the problem.
    Workflow is:
    1) In grid view arrange photos in correct order
    2) Rename photos with a name & sequence (i.e. photos-1), this appears to then keep the photos organized as how I had arranged in grid view
    3) Export photos & delete original photos from my master library
    4) Open exported photos in an EXIF editor and change date & time to a common format (I am currently using the seasons as a guide, i.e. the photos that I recall being taken in spring are dated the first day of spring, using noon as the time)
    5) Import back to Lightroom and organizing as per my usual structure.
    This has allowed me to easily batch change date and times, keeping the correct order and has drastically reduce my workload, thanks for the suggestion!

  • CallManager SQL Database for Dir # config

    I am looking for the SQL database that holds the setting for the Directry number configuration. What I am trying to figure out is which phone has which DID number assigned. We have around 250 did numbers and I do not know which users have which DID numbers. In callmanager under translation patterns a wild card was used i.e 569xxxx
    If someone has a better suggestion to find out which users have which DID's I am open.

    I found two ways to do waht what I was looking for..
    1.) The BAT tool. If you go in to BAT then choose configure then phones there is an option to export in the upper right hand side. When you choose export you are taken to a screen where you can select the detail of information you want and the types of phones. I chose this method to determin what exts were associated with waht outside DID.
    2.) From SQL use the Num Plan table. This table holds all the settings for the device and line.

  • Can XMP be used by an external SQL database to index photos and access keywords?

    I am developing an image library to be accessible by my company's intranet. Since my company has literally thousands of employees who will be adding content to the library, I am wondering if for example, I write keywords to the photos via Photoshop, Lightroom, etc. and then add them to the library, is there a way to have the SQL database query the JPG or TIFF files for the XMP data and import it into fields in the SQL database?
    I don't know if there is an existing app out there that would do this already but if anyone knows anything, I'm all ears.
    Cheers.

    Hi Martin,
    You can take a look on our Kalimages Pro software:
    http://www.kalimages.net/EN/Index.html
    Best regards

  • EMIGALL, DEVINFOREC - probs with reg.codes/factors for multiple registers

    Hi, guys!
    I have a problem with the migration object DEVINFOREC in EMIGALL. When I try to create a device info record with two registers, I don't get the fields register code (field KENNZIFF in structure DVMREG) and register factor (ZWFAKT in structure DVMREG) updated for the second register!!! The first register is OK, but for the second one, "nothing happens".
    I'm using the flags KENNZIFF and ZWFAKT in structure  DVMRFL. The problem I have here is, that it seems that only ONE entry of the DVMRFL record is allowed and therefor I can only update the first register (I think!!!).
    When I tried to create an extra DVMRFL record with register number 002, I get an error saying:
    Data error in automation data of device modification
    Message no. EN262
    Diagnosis
    An error occurred in table reg_flag for automation data. The following lines are unpermissible.
    Date 01.01.2001  - 31.12.9999
    Equipment (device) DEV_0001
    Register 002
    This is the input file to EMIGALL for DEVINFOREC:
    900000000012345682     DVMINT     01     E02     DEV_0001
    900000000012345682     DVMDEV     DEV_0001     4416     E02
    900000000012345682     DVMDFL     DEV_0001     E02
    900000000012345682     DVMREG     DEV_0001     E02     001     E10     10,00000                    
    900000000012345682     DVMREG     DEV_0001     E02     002     E11     10,00000                    
    900000000012345682     DVMRFL     DEV_0001     E02     001
    900000000012345682     &ENDE
    In the file above I would like to create a device info record called DEV_0001 with two registers with register factor 10 and with register codes E10 for register 1 and E11 for register 2.
    When I look at the device info record in trx EG43, I can see that  only the first register is updated correctly. For the second register the register factor is 1 and the register code is empty.
    Suggestions, anyone?
    Thanx in advance!
    With regards,
    Tony
    Edited by: TonyN64 on Apr 27, 2011 9:45 AM

    Hi Tony,
    Migration was ok for this object (DEVINFOREC).
    Maybe this will help you (customer structure of DEVINFOREC object):
    We suppose that material(MATNR) generic used for creation of device inforecords is called 'DEVINFOREC'.
    DataType:     DVMINT                                                                               
    Fld                       CTyp  DTyp   DLen    To      Short descriptn.                                         
    KEYDATE                   3     DATS        8          Key Date for Selection According to Time-Related Validity
    SPARTE                    2     CHAR        2          Division                           --- constant: 02 -gas                      
    MATNR                     2     CHAR       18          Material Number             --- constant: DEVINFOREC for example                             
    GERAET                    3     CHAR       18          Device                                                   
    DataType:     DVMDEV                                                                         
    Fld                       CTyp  DTyp   DLen    To      Short descriptn.                                                                               
    BIS                       3     DATS        8          Date at Which a Time Slice Expires    
    AB                        3     DATS        8          Date from which time slice is valid   
    GERAET                    3     CHAR       18          Device                                
    MATNR                     2     CHAR       18          Device category                        --- constant: DEVINFOREC for ex                             
    EGERR_INFO                3     CHAR       30          Information Field of Device Info Record
    DataType:     DVMDFL                                                                     
    Fld                       CTyp  DTyp   DLen    To      Short descriptn.                                                                               
    BIS                       3     DATS        8          Date at Which a Time Slice Expires
    AB                        3     DATS        8          Date from which time slice is valid
    GERAET                    3     CHAR       18          Device                            
    MATNR                     2     CHAR       18          Device category                    --- constant: DEVINFOREC for ex                             
    EGERR_INFO                3     CHAR        1          Indicators                        
    DataType:     DVMREG                                                                     
    Fld                       CTyp  DTyp   DLen    To      Short descriptn.                                                                               
    GERAET                    3     CHAR       18          Device                            
    MATNR                     2     CHAR       18          Material Number            --- constant: DEVINFOREC for ex       
    ZWNUMMER                  3     NUMC        3          Register                          
    BIS                       3     DATS        8          Date at Which a Time Slice Expires
    AB                        3     DATS        8          Date from which time slice is valid
    CALOR_AREA                3     CHAR        8          Calorific value district          
    DataType:     DVMRFL                                                                     
    Fld                       CTyp  DTyp   DLen    To      Short descriptn.                                                                               
    BIS                       3     DATS        8          Date at Which a Time Slice Expires
    AB                        3     DATS        8          Date from which time slice is valid
    GERAET                    3     CHAR       18          Device                            
    MATNR                     2     CHAR       18          Device category         --- constant: DEVINFOREC for ex                   
    ZWNUMMER                  3     NUMC        3          Register                          
    CALOR_AREA                3     CHAR        1          Indicators                        
    Bellow is a sample of 3 records from a file which was imported:
    K10073     DVMINT     20080101     K10073
    K10073     DVMDEV     99991231     20080101     K10073     BL. B1 SC.2
    K10073     DVMDFL     99991231     20080101     K10073     BL. B1 SC.2
    K10073     DVMREG     K10073     001     99991231     20080101
    K10073     DVMREG     K10073     002     99991231     20080101
    K10073     DVMRFL     99991231     20080101     K10073     001
    K10073     DVMRFL     99991231     20080101     K10073     002
    K10073     &ENDE
    K10074     DVMINT     20080101     K10074
    K10074     DVMDEV     99991231     20080101     K10074     BL. B1 SC.3
    K10074     DVMDFL     99991231     20080101     K10074     BL. B1 SC.3
    K10074     DVMREG     K10074     001     99991231     20080101
    K10074     DVMREG     K10074     002     99991231     20080101
    K10074     DVMRFL     99991231     20080101     K10074     001
    K10074     DVMRFL     99991231     20080101     K10074     002
    K10074     &ENDE
    K10075     DVMINT     20080101     K10075
    K10075     DVMDEV     99991231     20080101     K10075     BL. B1 SC.4
    K10075     DVMDFL     99991231     20080101     K10075     BL. B1 SC.4
    K10075     DVMREG     K10075     001     99991231     20080101
    K10075     DVMREG     K10075     002     99991231     20080101
    K10075     DVMRFL     99991231     20080101     K10075     001
    K10075     DVMRFL     99991231     20080101     K10075     002
    K10075     &ENDE
    Service module for DEVINFOREC object is: ISU_S_SMALL_DEVICE_CREATE
    with following parameters:
    Export
    X_DEVICE     EMG_DEVMOD_INT-GERAET
    X_MATNR     EMG_DEVMOD_INT-MATNR
    X_DEVISION     
    X_KEYDATE     EMG_DEVMOD_INT-KEYDATE
    X_UPD_ONLINE     U_ONLINE
    X_NO_DIALOG     N_DIALOG
    X_AUTO     AUTO
    X_OBJ     
    X_INT_NUM     
    X_EXT_NUM     
    Import
    Y_DB_UPDATE     DB_UPDATE
    Y_EXIT_TYPE     
    Y_EQUNR     EGERR-EQUNR
    Y_DEVICE     
    Good luck,
    Catalin

Maybe you are looking for

  • Ive created a path, but now how do I get it turned off?

    Hi guys, One thing that I havent been able to work out is, when I create a path, I use the path, stroke it and now I want to keep the path, but I don't want it to remain on the stage. I want to keep it in the paths channel for easy access, I just don

  • Premiere Pro CC not showing up in my list of apps in creative cloud.

    I have purchased a 1 year 1 app membership for Premiere Pro CC and when I go to download it, it takes me directly to Creative Cloud.  Premiere does not show up in the list of apps for some reason.  Any solutions?

  • Mixed chart formats

    I have a table with three columns of data. I'd like to create a chart with two data columns stacked bars with the third data set as a line on top of the stacked bars. I've been unable to format the stacked bars. In the series inspector, I only see ba

  • Levels and button transparency

    Hello My first post and I've only been using Flash 8 for a short while so here comes the dumb questions. I have a swf file and a button on a page that opens another swf file in a new layer. I have found though that the buttons from the level below ca

  • Connect to Internet Without Airport Base Station or Other Wireless Router

    I have an iMac G5 w/Airport Extreme card, an eMac w/Airport card (not Extreme), and an iBook w/Airport card (not extreme). The iMac is connected to the internet via DSL (direct Ethernet connection - no router). I can succesfully network all three com