2010-05-03 3 views
0

J'ai un package SSIS assez simple qui tente de lire un fichier hébergé sur un partage et d'importer son contenu dans une table de base de données. Le package fonctionne correctement lorsque je l'exécute manuellement dans SSIS. Cependant, quand je mis en place un travail de l'Agent SQL et tenter de l'exécuter, je reçois l'erreur suivante:Erreur de fichier plat SSIS DTS Package - "Le nom de fichier spécifié dans la connexion n'était pas valide"

Executed as user: DOMAIN\UserName. Microsoft (R) SQL Server Execute Package Utility Version 9.00.3042.00 for 64-bit Copyright (C) Microsoft Corp 1984-2005. All rights reserved.
Started: 10:14:17 AM Error: 2010-05-03 10:14:17.75 Code: 0xC001401E Source: DataImport Connection manager "Data File Local"
Description: The file name "\10.1.1.159\llpf\datafile.dat" specified in the connection was not valid. End Error Error: 2010-05-03 10:14:17.75 Code: 0xC001401D
Source: DataAnimalImport
Description: Connection "Data File Local" failed validation. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 10:14:17 AM Finished: 10:14:17 AM Elapsed: 0.594 seconds. The package execution failed. The step failed.

Cela me conduit à croire que c'est un problème d'autorisations, mais chaque tentative, je l'ai fait pour y remédier a échoué.

Ce que j'ai essayé jusqu'à présent:

  • Exécuter en tant compte de l'Agent SQL (DOMAIN \ sqlagent) - rendements même erreur. DOMAIN \ SqlAgent dispose d'autorisations "Contrôle total" sur le partage et le fichier téléchargé.

  • Configurer un compte proxy avec les informations d'identification d'un autre compte (DOMAIN \ Account) - génère la même erreur. Comme ci-dessus, les autorisations "Contrôle total" ont été attribuées au partage de ce compte.

  • Donne "Tout le monde" les autorisations de contrôle total sur le partage (temporairement!). Rend la même erreur.

  • Copié manuellement le fichier dans un chemin local et testé avec le compte SQL Agent. Travaillé correctement.

  • Ajout d'une tâche de script ActiveX qui copiera d'abord le fichier hébergé à distance sur un chemin local, puis fera en sorte que le package DTS fasse référence au fichier local. A donné une erreur complètement non-descriptive (même par les normes SSIS) en essayant d'exécuter le script.

  • Configurer un compte proxy en utilisant les informations d'identification de mon compte personnel - a fonctionné correctement. Cependant, ce n'est pas une solution acceptable car il y a des politiques de mot de passe en place sur mon compte, ainsi que d'être une mauvaise pratique pour mettre les choses de cette façon en général.

Des idées? Je suis toujours convaincu que c'est un problème d'autorisations. Toutefois, ce que j'ai lu à partir de diverses recherches indique plus ou moins que l'autorisation du compte d'exécution sur le partage devrait fonctionner. Cependant, ce n'est pas le cas ici (à moins que je ne manque quelque chose d'obscur lorsque je configure des permissions sur le partage).

Répondre

0

Oups. On dirait que j'avais des permissions sur le dossier, mais pas sur le partage. Commencé à travailler une fois que les autorisations ont été mises sur le partage. Ma faute.

2

Selon votre dernier test, il s'agit évidemment d'autorisations et d'une différence entre les autorisations de votre compte et celles des autres comptes. Quel est le niveau de protection du paquet?

+0

Il est défini sur DontSaveSensitive. – MisterZimbu

0

je sais que cet article est vieux, mais j'ai juste fait face au même problème Je pense que vous utilisez l'utilisateur "sa" et il n'a pas de privilège sur le dossier contenant le paquet, essayez de vous connecter à SQL avec Windows authentification, et essayez d'importer le paquet puis.

travaillé pour moi, j'espère que cela fonctionnera pour vous.

Questions connexes