2009-11-25 5 views
0

i besoin d'ouvrir une connexion à un db d'accès à distance. dans l'environnement local à l'accès distant db fonctionne très bien. quand je lance cette application à partir du serveur de production (autre serveur), il est échoue avec un messageconnexion via C#

« Il est déjà ouvert exclusivement par un autre utilisateur, ou vous avez besoin d'autorisation de visualiser ses données . »

mon code:

conString = 
     @"Provider=Microsoft.JET.OLEDB.4.0;" 
    + @"data source=" \\150.248.248.38\d$\TestApp\vending.mdb;Jet OLEDB:Database Password=1234;"; 

     OleDbConnection connAccess = new OleDbConnection(conString); 


    try 
    { 

     connAccess.Open(); 

     objDiningRoom.Connection = connAccess; 

     .... 
    } 
    catch (Exception ex) 
    { 


    } 
    finally 
    { 
     connAccess.Close(); 
     connAccess.Dispose(); 
    } 

* Son pas ouvrir dans un autre lieu grâce

+0

Avez-vous accès à cet autre serveur? Si vous tapez "\\ 150.248.248.38 \ d $ \ TestApp \" dans START | RUN et cliquez sur OK, ouvre-t-il une fenêtre de l'Explorateur montrant le dossier de destination? Si oui, pouvez-vous cliquer droit et créer un nouveau fichier texte? Sinon, vous avez un problème de permissions. Je recommande vivement de ne pas utiliser un partage administratif pour l'accès - les utilisateurs non-administrateurs n'y auront jamais accès, seulement les administrateurs. –

Répondre

0

Cela ressemble à c'est un problème d'autorisations. Assurez-vous de donner au compte IUSR (ou à tout autre compte qu'ASP.NET s'exécute) les droits de lecture/écriture sur votre base de données.

0

vous pouvez essayer: here copié à partir de là:

  • Cela se produit généralement lorsque votre fichier de base de données est ouverte exclusivement
    par une autre application (généralement MS
    Access). Fermez toutes les applications utilisant
    et réessayez.
  • Cette erreur peut se produire si le compte utilisé par Internet Information
    Server (IIS), (généralement IUSR), ne
    pas avoir les Windows NT correct
    autorisations pour une base de données basée sur des fichiers ou pour le dossier contenant le fichier
    .
  • Vérifiez les autorisations sur le fichier et le dossier. Assurez-vous que vous avez la possibilité de créer et/ou détruire tous les fichiers temporaires. Les fichiers temporaires sont généralement créés dans le même dossier que la base de données, mais le fichier peut également être créé dans d'autres dossiers tels que/Winnt. Si vous utilisez un chemin d'accès réseau à la base de données (UNC ou lecteur mappé), vérifiez les autorisations sur le partage, le fichier et le dossier.
  • Assurez-vous que le fichier et le nom de la source de données (DSN) sont non marqués comme exclusif.
  • Simplifier. Utilisez un DSN système qui utilise une lettre de lecteur local. Déplacer la base de données sur le disque local si
    nécessaire pour tester.
  • Le "autre utilisateur" peut-être Visual InterDev. Fermez tous les Visual InterDev
    projets qui contiennent une connexion de données
    à la base de données.
  • Cette erreur peut également se produire lorsque l'accès à un local Microsoft accès
    base de données liée à une table où la table est
    dans une base de données Access sur un serveur réseau
    .Dans cette situation,
    s'il vous plaît se référer à l'article suivant dans la Base de connaissances Microsoft pour une solution de contournement: Q189408 PRB: ASP ne parvient pas à d'accès au réseau des fichiers sous IIS 4,0