J'essaie d'exécuter la requête suivante: mais je reçois cette erreur: p> J'ai essayé ce qui suit: < / p> et: p> lorsque je vais à "Objets de serveur" -> "Serveurs liés" -> "Fournisseurs" , Microsoft.ace.oledb.12.0 est répertorié. P> Moteur de base de données ACESS X64 est installé, tous les produits de bureau sont 64 bits et mon serveur SQL est également 64 bits. P> si Il importe, tous les utilisateurs ont accès au dossier Temp dans le dossier Utilisateurs. P> (Ce sont toutes des suggestions que j'ai trouvées dans des réponses similaires à cette question) P> Edit: Utilisation SQL Server 2014 . p> p>
4 Réponses :
Assurez-vous de fermer la feuille de calcul Excel et exécutez SSMS comme administrateur. P>
Cela a réparé pour moi
Exécuter des SSMS comme administrateur a effectivement fonctionné - mais je pense que cela ne devrait pas être nécessaire. Y a-t-il une raison pour laquelle il doit être exécuté comme administrateur?
J'ai également rencontré ce problème et j'ai fait les étapes comme la vôtre, enfin j'ai rencontré l'erreur comme la vôtre.
En fin de compte, j'utilise un compte superutilisateur et utilise ce script comme ci-dessous et le problème a été résolu.
J'ai trouvé depuis Ce blog le Deux étapes manquantes devaient le faire fonctionner pour moi. P>
1) Vérifiez les autorisations sur le dossier Temp fort> p>
Ceci est nécessaire car le fournisseur utilise le dossier Temp lors de la récupération des données. Le dossier peut être l'un des éléments ci-dessous sur la base de si vous utilisez un compte système local ou un compte de domaine réseau. P>
pour les comptes réseau, le dossier est
: \ Windows \ ServiceProfiles \ NetworkService \ Appdata \ local \ Temp p>et pour le compte du système local de son
: \ Windows \ ServiceProfiles \ LocalService \ AppData \ local \ Temp p>Cliquez avec le bouton droit de la souris sur ce dossier et donnez-lui l'accès en écriture sur le compte exécutant le code. P>
2) Vérifiez la zone mémoire MEMTOLEAIS allouée forte> p>
- Ouvrez SQL Server Configuration Manager -> Services -> Service SQLServer. li>
- Faites un clic droit et choisissez Propriétés. li>
- aller à l'onglet avancé et append -g512; Pour démarrer la propriété Paramètres et il résoudra le problème. Li> ul> blockQuote>
Vous pouvez également le faire fonctionner sans avoir besoin de
allowinprocess code> si vous suivez les instructions dans cet article MSDN . Les instructions principales étant: p>Pour pouvoir exécuter des requêtes de serveur liées, définissez également RPC sur TRUE sur les propriétés liées au serveur. P>
autorisations nécessaires à la configuration de serveur lié avec un fournisseur hors traitement: p>
Vérifiez les paramètres ci-dessous dans DCOMCNFG: Démarrer -> RUN -> DCOMCNFG P>
Composants Services -> Mon ordinateur ---> Propriétés
Vérifiez que les options ci-dessous sont définies dans l'onglet 'Propriétés par défaut': P>
- 'Activer le comité distribué sur cet ordinateur' est coché. li>
- Authentification par défaut = Connect. li>
- Niveau d'impersonnation par défaut = Identifier ou Impersonate. Li> ul> li>
Composant Services -> Mon ordinateur -> DCOM Config -> Msdainitialize P>
- Cliquez avec le bouton droit de la souris sur MSDAINITIALISE -> Propriétés -> Sécurité Li>
- Ajoutez le compte de service SQL Server (si connecté à SQL Server à l'aide de SQL Login) ou du compte d'utilisateur Windows sous «Autorisations de lancement et d'activation», «Autorisations d'accès» et «Autorisations de configuration». li>
- Donner pleinement les droits à ces comptes. li> ul> li>
redémarrez le serveur p> li> ol> blockQuote>
Merci beaucoup pour ce conseil, en particulier les autorisations. Ce n'est pas courant, c'est une explication en fait, pas seulement une solution. C'est précieux.
Nous avons eu cet échec et rien résolu tant que nous avons remarqué que notre compte de service a été configuré pour utiliser un compte de domaine, et non le compte de service par défaut. Un autre serveur utilisant le système local a fonctionné en exécutant exactement le même travail avec les mêmes paramètres d'impersonnation et exécutant l'utilisateur. p>
Nous avons étudié et confirmé, ajoutant la ACT dans le cadre du système d'exploitation EM> Droit du compte SQL Agent Service dans la stratégie de sécurité locale sous les paramètres de sécurité | Politiques locales | Affectations de droits des utilisateurs résolus le problème. P>
Je ne suis pas assez familier avec ce truc pour me souvenir des messages d'erreur du sommet de ma tête, donc désolé si cela est hors de propos: est-ce parce que le classeur est ouvert lorsque vous l'exécutez?
Le classeur n'est pas ouvert.
Est-ce que ça marche lorsque vous l'exécutez comme sysadmin?
Non, ne fonctionne toujours pas.
Est-il correct que la feuille est nommée "feuille", pas "feuille1"?
pourrait être une réponse similaire ici: Stackoverflow.com/Questtions/16986756/...