2017-03-01 4 views
1

Problème:Comment résoudre une erreur SSIS "Excel File est déjà ouvert exclusivement par un autre utilisateur"?

J'ai un package SSIS que j'ai créé dans Visual Studio 2015 pour SQL Server 2012. Le package charge un onglet fichier délimité et des enregistrements de CRM, fait un certain traitement, et enregistre des erreurs dans un fichier Excel fichier sur un lecteur partagé. Lorsque j'exécute le package à partir de Visual Studio, le package s'exécute correctement sans erreur. Cependant, quand je déployer le package sur le serveur et essayé d'exécuter le package à partir du serveur comme un emploi, je reçois l'erreur:

The Microsoft Access database engine cannot open or write to the file. It is already opened exclusively by another user, or you need permission to view and write its data.

solutions tentées:

  • J'ai vérifié l'autorisation de dossier où se trouve le fichier Excel et les a modifiés pour permettre à tout le monde d'avoir un accès complet au dossier. Je l'ai fait à la part, ainsi que dans le dossier et le fichier individuel

  • J'ai essayé de courir le paquet directement et comme une partie d'un travail SQL Server

  • Je suis en mesure d'ouvrir l'indépendance du fichier de la application de sorte qu'il ne semble pas être verrouillé par un autre utilisateur

+0

Peut être que vous pouvez ajouter un script 'Task' dans un premier temps dans le package SSIS qui vérifie si le besoin Excel est déjà ouvert et si ouvert, il peut être tué. Peut-être que cela peut vous aider! –

Répondre

1

Après la recherche, vous pouvez essayer de résoudre ce problème de plusieurs façons. vous pouvez faire un essai:

  1. Vérifiez que le fichier n'est pas réelle (vérifier le gestionnaire de tâches pour les processus suspects excel.exe)

  2. Vérifiez qu'il n'y a pas d'autres packages SSIS (ou un autre arrière-plan processus) qui pourraient être d'ouvrir ce fichier en même temps

  3. Créer une tâche personnalisée qui attend jusqu'à ce que le fichier (Excel) est déverrouillé

Références