Results 1 to 8 of 8
  1. #1
    Join Date
    Sep 2003
    Location
    SPAIN
    Posts
    4

    Unanswered: Impossible !!! says my system admin.

    My system administrator says is not possible the following scenario to work:

    DB1 is located in a network computer, lets say Computer1.
    DB2 is located in a shared folder at a network server.

    DB2 tables are linked to DB1
    When DB1 is open at Computer1, users using DB2 get a " error 3045 file already in use" if try to use any of the linked tables in it. As soon as Computer1 closes DB1, users can work with the tables in DB2.

    Computer1 has hard disk and folders marked as "shared" and it opens DB1 in shared way ( not exclusive mode ).

    We cannot move DB1 to the shared folder.

    Any help to make this work will be appreciated.

  2. #2
    Join Date
    Aug 2003
    Location
    SW Ohio
    Posts
    198

    Re: Impossible !!! says my system admin.

    Originally posted by Nickolas
    My system administrator says is not possible the following scenario to work:

    DB1 is located in a network computer, lets say Computer1.
    DB2 is located in a shared folder at a network server.

    DB2 tables are linked to DB1
    When DB1 is open at Computer1, users using DB2 get a " error 3045 file already in use" if try to use any of the linked tables in it. As soon as Computer1 closes DB1, users can work with the tables in DB2.

    Computer1 has hard disk and folders marked as "shared" and it opens DB1 in shared way ( not exclusive mode ).

    We cannot move DB1 to the shared folder.

    Any help to make this work will be appreciated.
    This is a problem of the .ldb files, security and permissions. I'm guessing your servers are probably Novell Netware. I think it can also happen on WinXX servers, but not as often.

    So super user jdoe is in the db. He has full access to the share. Regular user jsmith tries to get to the db and is locked out. He then calls admin who gets into the database just fine and says there is no problem. Then jdoe and admin get out and jsmith has no problem getting in. And jdoe and admin can get in while jdoe is in.

    I bet this sounds like what is going on. The catch is the *.ldb file that is being created by the super user+ types is accessible to all super user+ types, but not the regular shmuck types. The *.ldb created by shmuck type is available to all.

    The fix is a medium PITA depending on how many databases and how many users. You need to get all users out of the db. Get shmuck user to open the database. In win explorer you then find the *.ldb file that has bee created. Change the properties on it to "Delete Inhibit" and then give all users in properly assigned shmuck group/container edit permissions on the *.ldb. Repeat for each db.

    We want through this when we started to tighten up our security a few years back.

    have fun.
    Jim P.

    Supoorting Oracle, MSSQL7, Sybase 8, & Pervasive. Confusion Reigns

  3. #3
    Join Date
    Aug 2003
    Location
    SW Ohio
    Posts
    198

    Re: Impossible !!! says my system admin.

    Originally posted by Nickolas
    My system administrator says is not possible the following scenario to work:

    DB1 is located in a network computer, lets say Computer1.
    DB2 is located in a shared folder at a network server.

    DB2 tables are linked to DB1
    When DB1 is open at Computer1, users using DB2 get a " error 3045 file already in use" if try to use any of the linked tables in it. As soon as Computer1 closes DB1, users can work with the tables in DB2.

    Computer1 has hard disk and folders marked as "shared" and it opens DB1 in shared way ( not exclusive mode ).

    We cannot move DB1 to the shared folder.

    Any help to make this work will be appreciated.
    This is a problem of the .ldb files, security and permissions. I'm guessing your servers are probably Novell Netware. I think it can also happen on WinXX servers, but not as often.

    So super user jdoe is in the db. He has full access to the share. Regular user jsmith tries to get to the db and is locked out. He then calls admin who gets into the database just fine and says there is no problem. Then jdoe and admin get out and jsmith has no problem getting in. And jdoe and admin can get in while jdoe is in.

    I bet this sounds like what is going on. The catch is the *.ldb file that is being created by the super user+ types is accessible to all super user+ types, but not the regular shmuck types. The *.ldb created by shmuck type is available to all.

    The fix is a medium PITA depending on how many databases and how many users. You need to get all users out of the db. Get shmuck user to open the database. In win explorer you then find the *.ldb file that has bee created. Change the properties on it to "Delete Inhibit" and then give all users in properly assigned shmuck group/container edit permissions on the *.ldb. Repeat for each db.

    We want through this when we started to tighten up our security a few years back.

    have fun.
    Jim P.

    Supoorting Oracle, MSSQL7, Sybase 8, & Pervasive. Confusion Reigns

  4. #4
    Join Date
    Sep 2003
    Location
    SPAIN
    Posts
    4
    Thanks for your answer Jimpen !
    The situation that you describe is exactly what is happening.

    Please, explain in more detail how can I change the properties on the *.ldb file.

  5. #5
    Join Date
    Aug 2003
    Location
    SW Ohio
    Posts
    198
    Originally posted by Nickolas
    Thanks for your answer Jimpen !
    The situation that you describe is exactly what is happening.

    Please, explain in more detail how can I change the properties on the *.ldb file.
    The attached image shows the Netware Rights from windows explorer. You may not have this tab/capability depending on your permissions in NW but your admin should.

    So go into the shared folder when no one is in the database and make sure the *.ldb file does not exist. If it does then delete it. Have the shmuck user (or have a second PC handy that is logged on as a shmuck user) open the database. Do a refresh and look for the *.ldb file.

    Then Right-Click on the shortcut menu go to Properties. It should be the second tab and check the delete inhibit check-box. Then go to the Netware Rights tab and give rights to the appropriate users/groups except for delete. Apply changes.

    Then shut down the db and do another refresh of explorer. The ldb should still be there. I can't remember if you need to take away the delete from the admin types as well. But this is in the ballpark.
    Attached Thumbnails Attached Thumbnails ldb_fix.jpg  
    Jim P.

    Supoorting Oracle, MSSQL7, Sybase 8, & Pervasive. Confusion Reigns

  6. #6
    Join Date
    Sep 2003
    Location
    SPAIN
    Posts
    4
    Thanks again Jimpen

    I m going to try this.
    The only thing is that our environment is Windows ( 95 in pCs and NT in server ) but I guess that it must be a similar way of giving permissions to the *.ldb file.

  7. #7
    Join Date
    Aug 2003
    Location
    SW Ohio
    Posts
    198
    Originally posted by Nickolas
    Thanks again Jimpen

    I m going to try this.
    The only thing is that our environment is Windows ( 95 in pCs and NT in server ) but I guess that it must be a similar way of giving permissions to the *.ldb file.
    For NT it would probably work by taking delete rights away from everyone including the admin types. And then give RWX to all users/groups.
    Jim P.

    Supoorting Oracle, MSSQL7, Sybase 8, & Pervasive. Confusion Reigns

  8. #8
    Join Date
    Sep 2003
    Location
    SPAIN
    Posts
    4
    Solved Problem !!!

    Folder containing DB1 was selected as "Shared" but only for read.
    I just rightclick on it and marked the option for "allow delete and write" and now everything works perfectly well.
    Thanks a lot !!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •