2017-02-24 2 views
0

Je cherche à créer une application Access avec des fonctionnalités de synchronisation en ligne occasionnellement connectées. L'idée est d'utiliser SQL Server Compact en tant que backend localement, puis d'utiliser un programme pour le synchroniser avec un serveur SQL Server. Je ne peux pas trouver assez de preuves définitives que vous ne pouvez pas faire cela. Pouvez-vous utiliser SQL Server Compact en tant que backend pour une application MS Access?Est-il possible d'utiliser SQL Server Compact en tant que backend pour MS Access?

Répondre

1

Vous pouvez le faire via ADO comme décrit here.

Mais comme vous le souhaitez répliquer les données, il serait beaucoup plus simple à utiliser SQL Server Express comme il peut être mis en place tout de suite comme une réplication abonné à une base de données publiée par votre côté serveur SQL Server .

+1

L'approche ADO a un certain nombre de limitations: pas de support pour les types de blob, pas de liaison de données simple – ErikEJ

+0

Cette suggestion n'a aucun sens et ne fonctionne pas pour l'accès. L'idée que vous pouvez créer un ensemble d'enregistrements ADO a TOUTE RELATION pour pouvoir exécuter une application Access en utilisant l'édition compacte est un conseil ABSOLUTE CERTAIN MORTEL GALACTIQUEMENT FOU et INCORRECT. Vous ne pouvez simplement pas exécuter ni utiliser une application d'accès typique en utilisant l'édition compacte de SQL avec accès puisqu'il n'y a pas de pilote ODBC. Cela signifie que les rapports et toute forme liée (que 99,99% des applications d'accès supposent et nécessitent) ne fonctionneront pas. La possibilité de créer un jeu d'enregistrements ADO a une pertinence proche de zéro pour l'utilisation de SQL compact avec accès –

1

Non, ce n'est pas possible, vous devez utiliser SQL Server Express - qu'est-ce qui vous empêche de le faire?

+0

Nous allons installer cette base de données sur 30 ordinateurs portables appartenant à nos vendeurs sur le terrain. J'avais le sentiment qu'en utilisant SQL Server Compact, il serait plus facile de gérer l'installation et les mises à jour. Je peux me tromper ... – WestAce

+1

Si vous pouvez vous abstenir de l'option de réplication native de SQL Server, vous pouvez envisager [SQL Server 2016 Express LocalDB] (https://msdn.microsoft.com/en-us/library/hh510202. aspx). C'est une installation silencieuse. – Gustav

+1

@WestAce Vous avez raison au sujet du problème de déploiement, mais l'installation est légère et peut être rendue assez silencieuse - nécessite toutefois un accès admin (contrairement à SQL Compact) – ErikEJ

2

Votre meilleure option ici est probablement Sql Server LocalDB. LocalDB utilise les mêmes types de données et formats que le serveur Sql complet, et le moteur s'appuie même sur des bibliothèques conçues pour le serveur Sql complet. Mais contrairement à Sql Server Express Edition standard, il ne fonctionne pas en tant que service, même lorsque votre application principale n'est pas en cours d'exécution, et the installation deployment story is a bit easier, too. Du côté de l'accès, vous pouvez configurer une connexion ODBC pour créer des tables liées à utiliser dans votre application, comme vous le feriez avec Sql Server Express Edition.

+0

Pouvez-vous connecter LocalDB à une version en ligne de SQL Server en tant qu'abonné à la réplication? – WestAce