Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/09/2011, 12h12   #1
Membre confirmé
 
Avatar de dacid
 
Homme
Inscription : juin 2003
Messages : 858
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2003
Messages : 858
Points : 260
Points : 260
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.
__________________
David.
dacid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 14h28   #2
Membre Expert
 
Homme Sylvain Devidal
Chef de projets Générix
Inscription : février 2010
Messages : 1 062
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Devidal
Âge : 33
Localisation : France, Rhône (Rhône Alpes)

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

Informations forums :
Inscription : février 2010
Messages : 1 062
Points : 1 515
Points : 1 515
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.
StringBuilder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 14h38   #3
Membre confirmé
 
Avatar de dacid
 
Homme
Inscription : juin 2003
Messages : 858
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2003
Messages : 858
Points : 260
Points : 260
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.
__________________
David.
dacid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 14h49   #4
Membre Expert
 
Homme Sylvain Devidal
Chef de projets Générix
Inscription : février 2010
Messages : 1 062
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Devidal
Âge : 33
Localisation : France, Rhône (Rhône Alpes)

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

Informations forums :
Inscription : février 2010
Messages : 1 062
Points : 1 515
Points : 1 515
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
StringBuilder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 14h58   #5
Membre confirmé
 
Avatar de dacid
 
Homme
Inscription : juin 2003
Messages : 858
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2003
Messages : 858
Points : 260
Points : 260
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.
__________________
David.
dacid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2011, 12h06   #6
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 791
Points : 17 791
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
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 10h12   #7
Membre confirmé
 
Avatar de dacid
 
Homme
Inscription : juin 2003
Messages : 858
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2003
Messages : 858
Points : 260
Points : 260
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.
__________________
David.
dacid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 10h19   #8
Membre Expert
 
Homme Sylvain Devidal
Chef de projets Générix
Inscription : février 2010
Messages : 1 062
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Devidal
Âge : 33
Localisation : France, Rhône (Rhône Alpes)

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

Informations forums :
Inscription : février 2010
Messages : 1 062
Points : 1 515
Points : 1 515
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)
StringBuilder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 14h15   #9
Membre confirmé
 
Avatar de dacid
 
Homme
Inscription : juin 2003
Messages : 858
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2003
Messages : 858
Points : 260
Points : 260
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.
__________________
David.
dacid est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h23.


 
 
 
 
Partenaires

Hébergement Web