Sql Server Express est un moteur de base de données de classe de serveur. Cela signifie que, oui, vous vous connectez au serveur plutôt que de lire/écrire directement dans un fichier. Le moteur du serveur gérera ensuite l'accès à vos données.
Ceci est important. C'est le mécanisme qui permet au serveur sql de gérer en toute sécurité des situations comme les sites Web asp.net, où chaque requête de page s'exécute dans un thread différent et vous pouvez en avoir plusieurs qui veulent écrire dans votre base de données à peu près en même temps. Si chaque processus écrivait juste dans le fichier, vous auriez des problèmes avec la corruption de données. L'envoi de demandes à un seul processus de serveur lui permet de s'assurer que chaque élément s'exécute dans une transaction distincte et isolée et de gérer ces opérations en toute sécurité.
Ce mécanisme est également important pour les performances. Il permet au système de faire des choses comme pré-charger des tables et des index en mémoire une fois, pour utilisation par n'importe quel processus qui arrive à faire une demande sur ces données. C'est pourquoi un moteur de serveur tel que sql server express ou même mysql sera toujours capable de battre un moteur in-process comme sqlite en termes de performances comme vos balances de données, même si sqlite est moins gourmand en ressources et semble souvent plus rapide sur petit données ou petites charges.
La nécessité d'avoir ce processus serveur en cours d'exécution est également pourquoi vous devez pas utiliser SQL Server Express pour les applications de bureau local. Dans ce cas, vous ne voulez pas forcer vos utilisateurs à disposer d'un processus serveur 24 heures sur 24 et 7 jours sur 7 en utilisant la mémoire pour mettre en cache les données d'index et de tables que vous ne référenciez que de temps en temps. C'est ici qu'interviennent les compacts de votre serveur sql, les sqlites et les bases de données d'accès.
En ce qui concerne votre problème de connexion spécifique, il y a beaucoup de choses qui pourraient causer cela. Etes-vous sûr que sql server express est actuellement installé et fonctionne sur votre système? Que se passe-t-il si vous tapez simplement "localhost" ou "./SQLEXPRESS" dans la boîte manuellement?
hey, ça m'a beaucoup plus proche qu'avant, mais toujours pas de connexion. Je reçois cette erreur maintenant: impossible d'ajouter une connexion de données. ExecuteScalar nécessite une connexion ouverte et disponible. L'état actuel de la connexion est fermé. –