IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

sqlserverce - trop de sessions sont ouvertes


Sujet :

Développement SQL Server

  1. #1
    Membre éprouvé Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Par défaut sqlserverce - trop de sessions sont ouvertes
    Bonjour à tous,

    Voilà, je travaille avec une base SQL Server Compact et lorsque je lance une instruction censée lancer une requête, il me fait l'erreur: "trop de sessions sont ouvertes".

    Pourtant, j'attaque cette base depuis qu'une seule appli Web.
    (je fais des accès à un webservice distant qui met à jour ma base)

    Je croyait que c'était une BDD gratuite, donc pas de limites...

    Avez vous des idées ?

    Merci d'avance.

    David.

  2. #2
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    La limitation ne vient pas du fait qu'elle soit gratuite ou non, mais du fait que c'est une base de données fichiers à peine améliorée, comme les drivers JET pour Access.

    => SQL Server Compact ne supporte pas (ou mal) les accès concurrents.

    Je pense que ton erreur provient de là : t'as déjà une connexion ouverte sur ta base et pour des raisons d'intégrité, il refuses que tu en ouvres une seconde.

    PS : Pourquoi n'utilises-tu pas SQL Server Express ? C'est gratuit aussi, mais au moins c'est un vrai SGBD... Qui supporte autant de connexion concurrentes que tu veux.

  3. #3
    Membre éprouvé Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Par défaut
    Bonjour StringBuilder,

    Merci pour ta réponse.
    En fait, c'est parce que je faisait un executeNonQuery dans une boucle sans fermer le connecteur.

    Je ne peut pas mettre SQL Server cas c'est des clients légers et il n'est pas question d'installer SQL Server sur chacun d'eux.

  4. #4
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Ah ben oui, forcément, si tu ouvres des milliers de connexions en même temps aussi

    Je me disais bien aussi que même si SQL Server CE n'est pas terrible, c'est quand même un minimum multi-connexion... Pas pire qu'Access quoi... Mais guère mieux non plus

  5. #5
    Membre éprouvé Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Par défaut
    Hummm, n'exagérons rien... disons un demi millier...

    C'est vrai qu'à l’utilisation, je remarque plusieurs manques par rapport à son grand frère :
    - Pas possible de mettre plusieurs requêtes séparées par des ; dans un CommandText.
    - Pas de requêtes imbriquées (sous requête dans le select).
    - Aucun moyen de charger un fichier de scripts (d'ou mon besoin de faire une boucle).
    - ... J'en oublie.

    Bref, il est bien dans le sens ou il est autonome, mais c'est tout.

    Merci encore.

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 009
    Billets dans le blog
    6
    Par défaut
    SQL Server CE est destiné à fonctionner essentiellement sous Windows CE c'est à dire dans des environnement mobile mono utilisateurs aux ressources très restreintes : téléphone portable par exemple.
    Non seulement ce sera très limité : pas de procédures, trigger, fonctions... Mais en plus très lent, car la mémoire est "vidée" à chaque déconnexion (donc pas de cache !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  7. #7
    Membre éprouvé Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Par défaut
    Merci pour ces informations techniques.
    Du coup, je remet mes choix en question...
    J'ai un serveur sur lequel il y a SQL Server, et beaucoup de clients (tablettes PC Windows 7) sur lesquelles il est hors de question de faire une installation lourde.
    Du coup, il ne me reste qu'Access.

  8. #8
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Mise à part qu'Access support des requêtes SQL plus complexes, vu vas vite avoir de grosses limitations aussi en termes de performance et de taille.

    => Access c'est aussi une base fichier, le moteur de base de données, c'est le drivers ODBC (la preuve, pas besoin d'avoir Access installé pour utiliser une base Access, le drivers MS Jet suffit !)

    A mon avis, si tu as besoin de travailler avec une base de données transactionnelle et qui monte bien la charge, tu devrais plutôt t'orienter vers :
    - Un serveur distant mutualisé (si ton application travaille sur un Wifi d'entreprise par exemple)
    - Un autre SGBDR tel que SQL Lite, qui allie légèreté (pas d'installation, peut d'occupation mémoire) et fonctionnalités (du même niveau que MySQL à peu près)

  9. #9
    Membre éprouvé Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Par défaut
    Bonjour StringBuilder,

    Distant, non, je ne peux pas, les tablettes vivent en autarcie et il y a une synchro régulière sur base filaire.

    SQL Lite, je ne connaissait pas en fait... Tu dis que c'est une base serveur et qu'il n'y a pas d'installation ?

    Je vais me documenter un peu...

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pourquoi les tables sont ouvertes par défaut ?
    Par Cazaux-Moutou-Philippe dans le forum WinDev
    Réponses: 1
    Dernier message: 21/10/2006, 23h16
  2. Réponses: 3
    Dernier message: 01/05/2006, 15h09
  3. Sessions réseau ouvertes
    Par gg78 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 20/03/2006, 18h21
  4. Ajouter une clé pour une session non ouverte
    Par prgasp77 dans le forum Windows
    Réponses: 4
    Dernier message: 29/10/2005, 01h26
  5. Fichier texte trop gros pour etre ouvert
    Par tavman dans le forum C++
    Réponses: 5
    Dernier message: 05/10/2005, 01h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo