CORRECTIF : Vous recevez un message d'erreur lorsque vous exécutez une application SQL Server Compact 3.5 après avoir installé la version 32 bits de SQL Server Compact Edition 3.5 Service Pack 2 sur un ordinateur x 64

Traductions disponibles Traductions disponibles
Numéro d'article: 974247 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Symptômes

Sur les ordinateurs 64 bits, une application SQL Server Compact (CD ? ?) en fonction peut échouer avec une des deux problèmes suivants :
Symptôme 1
L'application essaie de charger une version de compactage n'est pas compatible avec la version installée sur l'ordinateur. Versions incorrectes pourraient conduire à une certaine instabilité de l'application et le chargement de compacter devrait être abandonné.

Symptôme 2
L'application ne peut pas charger les composants natifs de SQL Server Compact, qui correspond au fournisseur ADO.NET.

Les exceptions exactes qui sont associées à ces problèmes sont les suivantes :

Exception d'incompatibilité de version
Incompatibilité de version du fichier détectée entre le fournisseur ADO.NET et les fichiers binaires natifs de SQL Server Compact, qui pourrait entraîner une fonctionnalité incorrecte. Cela peut être dû à la présence de plusieurs instances de SQL Server Compact de différentes versions. Veuillez installer SQL Server Compact binaires de version correspondante [version de fichier du fournisseur ADO.NET = XXXX, version de fichier binaire native = aaaa]

Impossible de ME charger la dll exception ?
Impossible de charger la DLL 'sqlceme35.dll': le module indiqué est introuvable. (Exception de HRESULT : 0x8007007e)

Cause

Applications compactes programmer en général le fournisseur compact ADO.NET (System.Data.SqlServerCe.dll). Ce fournisseur tour communique avec les composants compact natifs. Pour éviter des incohérences différents, un fournisseur compact ADO.NET d'une certaine version peut communiquer avec uniquement les composants natifs compact de la même version. Voici quelques exemples de scénarios où cette stratégie sera cassée et qui entraîne une des deux exceptions mentionnées précédemment :

Exemple de scénario 1

Installer SQL Server 2008 R2 (Cela installe la version 32 bits de SQL Server Compact 3.5 SP2) ensuite, lorsque vous exécutez une application 64 bits confidentiellement déploiement SQL Server Compact SP1, il échoue avec ? exception incompatibilité de version».

Raison de l'échec

  • Lorsque la version 32 bits de SQL Server Compact 3.5 SP2 est installée, il ajoute le fournisseur ADO.NET (System.Data.SqlServerCe.dll) de la version 3.5.8080 au Global Assembly Cache (GAC) et le x 86 natif composants sont placés sous le dossier % Program Files (x 86).
  • Lorsque l'application de 64 bits confidentiellement déploie SQL Server Compact SP1 est exécutée, le fournisseur ADO.NET est chargé du GAC (version 3.5.8080) mais composants natifs 64 bits sont chargés à partir du dossier d'application qui est la version 3.5.5692.0.
  • Il existe une incompatibilité de version qui n'est pas activée par la stratégie.

Exemple de scénario 2

  • Vous installez la version x 86 de SQL Server Compact 3.5 SP1 sur un ordinateur 64 bits.
  • Vous installez ensuite la version x 64 de SQL Server Compact 3.5 SP1.
  • Sur le même ordinateur, vous téléchargez et installez la version 32 bits de SQL Server Compact 3.5 SP2 à partir du Web.
  • Vous exécutez une application 64 bits qui utilise SQL Server Compact SP1 ou SP2.
  • Lorsque vous exécutez l'application, elle échoue avec la ? Impossible de charger ME dll "exception.

Raison de l'échec

  1. L'installation de la version 32 bits de SQL Server Compact 3.5 SP2 met à niveau SQL Server Compact 3.5 SP1 x 86 d'installations à SQL Server Compact 3.5 SP2. Il provoque l'installation de 86 x de compact qui est différente de l'installation de 64 x.
  2. Lorsqu'une application 64 bits qui utilise Compact SP1 ou SP2 est en cours d'exécution sur l'ordinateur, il charge le fournisseur ADO.NET à partir du GAC (version 3.5.8080). Toutefois, il ne trouve pas binaires natifs de la même version sur le système. Par conséquent, il lève l'exception.

Résolution

À tout moment donné, l'état correct d'un ordinateur 64 bits, pour SQL Server Compact pourrait être la suivante :
  • X 86 et amd64 msi est installés.
  • X 86 et amd64 MSI ont la même version.

Par conséquent, si vous êtes confronté à des problèmes similaires, assurez-vous que l'ordinateur possède les deux x 86 et amd64 msi de Compact sont installés et qu'ils sont de la même version. Au niveau de la casse, ils ne sont pas, puis installez compact SP2 x 86 et x 64 msi à partir de lien suivant en fonction des besoins :
http://www.microsoft.com/downloads/details.aspx?familyid=E497988A-C93A-404C-B161-3A0B323DCE24&displaylang=en

Statut

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section "S'applique à".

Propriétés

Numéro d'article: 974247 - Dernière mise à jour: mardi 3 novembre 2009 - Version: 2.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server Compact 3.5
Mots-clés : 
kbmt kbhotfixserver kbsurveynew kbqfe KB974247 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 974247
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com