Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Σύνδεση σε Access μέσα από ένα web method

Îåêßíçóå áðü ôï ìÝëïò Πέτρος Αμοιρίδης. Τελευταία δημοσίευση από το μέλος Πέτρος Αμοιρίδης στις 10-09-2007, 12:06. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  07-09-2007, 13:36 34847

    Σύνδεση σε Access μέσα από ένα web method

    Γειά σας!

    Θέλω να συνδεθώ σε μια Access Database μέσα από ένα web method ενός web service που έγραψα. Το ζήτημα είναι πως η βάση αυτή βρίσκεται σε ένα άσχετο directory από αυτό του virtual directory στο οποίο είναι εγκατεστημένο το web service. Καταρχήν είναι δυνατόν μέσα από ένα web service να διαβάζω/γράφω σε ένα αρχείο που βρίσκεται στον ίδιο υπολογιστή με τον IIS αλλά σε directory εκτός δικαιδοσίας IIS?

    Ευχαριστώ,
    Πέτρος

    Πέτρος
  •  07-09-2007, 13:54 34848 σε απάντηση της 34847

    Απ: Σύνδεση σε Access μέσα από ένα web method

    Ναι, φυσικά μπορείς, αρκεί να έχει πρόσβαση o user του IIS (ή σε όποιο user account τρέχει το web service) στο directory που υπάρχει το αρχείο, και έχει write access στο αρχείο της βάσης. Προσοχή μόνο το πως θα τα σετάρεις για να μην έχεις security risks. πχ μην δώσεις write access σε όλο το φάκελο, αλλα μόνο στο φάκελο που σε ενδιαφέρει. Εάν αυτός ο φάκελος περιέχει κι άλλα αρχεία, δώσε deny all σε αυτά τα αρχεία για τον user webservice/IIS ώστε να μην μπορεί να τα πειράξει, ούτε να τα διαβάσει κλπ.
    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  07-09-2007, 14:33 34851 σε απάντηση της 34848

    Απ: Σύνδεση σε Access μέσα από ένα web method

    Παναγιώτη,

    Φαντάζομαι πως το user account που πρέπει να έχει δικαίωμα στον φάκελο όπου βρίσκεται το αρχείο της Access είναι ο IUSR_COMPUTERNAME διότι έχω δηλώσει ότι θέλω να μπορεί να κληθεί το web service anonymously. Οπότε, πήγα στο φάκελο, στο Security και πρόσθεσα αυτόν το χρήστη και του έδωσα Full Control. Αλλά παίρνω το ίδιο σφάλμα:

    System.Data.OleDb.OleDbException: The Microsoft Jet database engine cannot open the file 'C:\BlaBla\MyDatabase.mdb'. It is already opened exclusively by another user, or you need permission to view its data.

    Το πρώτο μέρος του μηνύματος που λέει ότι μπορεί η βάση να είναι ανοιχτή από αλλού exclusively, δε συμβαίνει. Το δεύτερο, αν έχω δώσει στον IUSR_COMPUTERNAME δικαίωμα να γράφει και να διαβάζει στον παραπάνω φάκελο, γιατί εξακολουθεί να βγαίνει; Υπάρχει κάτι άλλο που μπορώ να ελέγξω;

    Ευχαριστώ,
    Πέτρος

    Πέτρος
  •  07-09-2007, 17:09 34854 σε απάντηση της 34851

    Απ: Σύνδεση σε Access μέσα από ένα web method

    Απο ΚΑΘΕ φάκελο τον οποίο περνάει ο user θα πρέπει να έχει τουλάχιστον List Directory/Folders και Files (Νομίζω, δεν είμαι 100% σίγουρος) Permission. Γενικά πειραματίσου λίγο με τα Permissions είναι tricky η κατάσταση σε advanced ACL περιπτώσεις. Πάντως είναι καθαρά θέμα Permissions.

    Hard Way: Δοκίμασε να πειραμαστείς βάζοντας την βάση στο root (C:\) ώστε να δεις ότι λειτουργεί 100% εκεί και μετά άλλαξέ της θέση, στο folder που θές , μέχρι να βρεις τα σωστά Permissions και να το περάσεις σε όλους.


    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  07-09-2007, 17:41 34855 σε απάντηση της 34854

    Απ: Σύνδεση σε Access μέσα από ένα web method

    Δοκίμασα το Hard way και έδωσα στο C:\ Full permissions για τον IUSR_BLABLA ... αλλά τίποτα. Ευχαριστώ πάντως για τις προτάσεις σου. Αν βρω κάποια λύση θα ενημερώσω τη συζήτηση μήπως το χρειαστεί κάποιος άλλο στο μέλλον.

    Πέτρος

    Πέτρος
  •  07-09-2007, 19:29 34858 σε απάντηση της 34855

    Απ: Σύνδεση σε Access μέσα από ένα web method

    Εαν δώσεις στο Everyone παίζει? Μήπως απλά το κάνεις σε λάθος χρήστη κλπ.
    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  10-09-2007, 12:06 34900 σε απάντηση της 34858

    Απ: Σύνδεση σε Access μέσα από ένα web method

    Κάτι τέτοιο ήταν Παναγιώτη. Δεν έπρεπε όμως να δίνω δικαιώμα στον IUSR αλλά στον ASPNET. Υπάρχει ο χρήστης ASPNET με τον οποίο εκτελούνται τα ASP.NET processes και τα web services στο .ΝΕΤ είναι ASP.NET processes. Αυτά για IIS < 6. Στον 6, το δικαίωμα πρέπει δοθεί στον NETWORK SERVICE χρήστη. Αυτό βέβαια όταν το ASP.ΝΕΤ στον IIS είναι "απείραχτο" όσον αφορά τις ρυθμίσεις. Αν κάποιος αλλάξει τις ρυθμίσεις σχετικά με το impersionation mode, τότε νομίζω ότι τα δικαιώματα πρέπει να δοθούν στον IUSR. Εξορισμού όμως, οι ρυμίσεις παραπέμπουν στον ASPNET.

    Αυτά :-)! Επιτέλους, συνδέομαι στην Access!

    Ευχαριστώ για την βοήθεια,
    Πέτρος

    Πέτρος
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems