SSIS gestionnaire de connexion de connexion échoue
J'ai un projet SSIS, dans lequel j'ai défini une Source de Données (le fournisseur de: Native OLE DB/Fournisseur Microsoft OLE DB pour SQL Server). Quand j'ai ouvert ce manuellement et cliquez sur le bouton "tester la connexion" tout fonctionne très bien. Le gestionnaire de connexion peuvent accéder à la DB à l'aide de la chaîne de connexion, utilisateur et mot de passe.
Maintenant, j'ai un package SSIS où j'ai créé un gestionnaire de connexion basé sur cette source de données ("nouvelle connexion de source de données...").
Dans le package de flux de contrôle, j'ai une tâche SQL qui a le type de connexion OLE DB et de connexion à mon gestionnaire de connexion à l'intérieur de ce très package. La tâche des feux de certains instruction de mise à jour de la base de données, en notant fantaisie à tous.
Maintenant, quand je debug toute chose, je reçois toujours le même message d'erreur:
D'erreur: Code d'Erreur SSIS DTS_E_OLEDBERROR. Une erreur OLE DB a eu lieu.
Code d'erreur: 0x80040E4D. Un enregistrement OLE DB est disponible. Source:
"Microsoft OLE DB Provider for SQL Server" Hresult: 0x80040E4D
Description: "échec de la Connexion de l'utilisateur "myUser'."
FYI: myUser égale le nom d'utilisateur que j'ai pour ma base de données.
Donc ma question est: qu'est ce qui me manque ici? Je ne peux vraiment pas voir ce qui ne va pas ici. Je suis vraiment coincé ici. Tous les indicateurs grandement apprécié!
Dans les OFFRES, j'ai simplement appuyez sur la touche F5 (Démarrer le Débogage)
Avez-vous d'autres colis de votre solution?. Essayez -> clique droit sur le package et cliquez sur exécuter le package option.
Oui, il y a également d'autres paquets. Quand je fais comme tu dis, je reçois toujours le même message d'erreur...
Avez-vous créé un fichier de configuration ? et qu'est-ce que
Package Protection Level
ensemble ?OriginalL'auteur BaseBallBatBoy | 2013-05-30
Vous devez vous connecter pour publier un commentaire.
ProtectionLevel "DontSaveSensitive" signifie que le mot de passe ne sont pas enregistrés avec le package SSIS. La raison SSIS n'est-ce donc que le mot de passe n'est pas flottant autour de l'endroit où quelqu'un pourrait-il obtenir.
Ainsi, lorsque vous entrez le mot de passe et cliquez sur le bouton "tester la connexion" tout fonctionne très bien. Mais lorsque vous exécutez en mode débogage (ou la production), vous n'avez pas de mot de passe. Donc, bien sûr, la connexion échoue.
C'est pourquoi vous avez besoin d'un fichier de configuration. Voir ma réponse ici:
Lorsque vous déboguez, bien sûr, vous avez besoin d'un fichier de configuration qui a le mot de passe tapé à la main. Mais que le fichier de configuration n'est pas aller avec le paquet lorsqu'il est déployé à la production. La production du fichier de config devrait avoir un mot de passe vide. Le mot de passe doit vivre dans la tâche planifiée qui exécute le package.
On dirait que c'est d'enregistrer le nom d'utilisateur et le mot de passe, mais il ne l'est pas. Il va le garder pendant un certain temps après que vous avez tapé dessus pour tester la connexion, donc il semble que ça fonctionne, mais ensuite il s'arrête de fonctionner. C'est déroutant. Mais c'est la façon dont SSIS t-il. Les options de chiffrement sont une autre histoire, et sont encore moins facile à utiliser. Ajouter un fichier de config, et de modifier le XML manuellement pour mettre le mot de passe.
En fait, vous n'avez pas besoin d'un fichier de configuration tout en s'exécute par le biais d'OFFRES. Si vous réouverture de votre colis, vous devez donner votre mot de passe à nouveau si votre niveau de protection de l'est "ne pas enregistrer sensibles". Mais dans votre cas semble que vous risquez de manquer quelque chose. Voir s'il ya des autres gestionnaires de connexion sont disponibles dans votre forfait. et vérifiez si vous avez sélectionné le même gestionnaire de connexion qui vous testé.
Donc, si effectivement vous n'avez pas besoin d'un fichier de configuration, comment contourner ce problème?
si vous êtes à la planification de l'exécution par le biais de l'Agent de SQL Server, vous pouvez être en mesure de définir les niveaux de protection et mots de passe lorsque vous mettez en place le Travail à exécuter le package SSIS. Je n'ai pas essayé dans les plus récentes versions de SQL Server, mais je pense que dans certains des versions antérieures, que vous avez reçu l'accès à ces propriétés si vous aviez déjà un fichier de configuration pour eux. Alors, parfois, j'ai effectivement mis sur pied un mannequin fichier de configuration pour quelques propriétés simplement de sorte que je serais en mesure de définir ces propriétés au niveau du Serveur SQL au niveau de la Tâche.
OriginalL'auteur criticalfix
J'ai travaillé autour de ce problème dans les OFFRES.
1) tout d'Abord, si vous n'avez pas de fichier de configuration et dans votre gestionnaire de connexion que vous utilisez une authentification sql server, puis vous obtiendrez une croix rouge dans ole db source ou de la destination des tâches. Il ne se produira pas dans des tâches d'exécution sql parce que le fournisseur ole db source et de la destination des tâches réellement avoir à exécuter un select * from table de requête pour obtenir la liste des tables pour sélectionner à partir. Depuis le mot de passe n'est pas enregistré, il vous gratifiera d'une erreur.
2) Si vous avez un fichier de configuration, vous serez toujours face au même problème. Mais avec le fichier de configuration, vous pouvez modifier et insérer manuellement un mot de passe. Il a travaillé pour moi. Le fournisseur ole db source et de destination, les tâches n'étaient pas montrer de la croix-rouge.
OriginalL'auteur bilalraja