AU SECOURS !!! Suite... et fin ? [ASP] [BDD] - Programmation
Marsh Posté le 03-05-2001 à 15:53:43
Bon ben ça tient pas, le serveur viends de planter à nouveau;
HEEEEEELLP !
Marsh Posté le 03-05-2001 à 16:22:52
A tout ZAZAR, y'a pas un timeout ou un truc de ce genre à configurer dans IIS pour qu'il libère les connexion plus utilisées ?
Marsh Posté le 04-05-2001 à 10:01:34
ReplyMarsh Posté le 04-05-2001 à 15:09:04
one more time...
Marsh Posté le 04-05-2001 à 16:58:40
essaye peutêtre de mettre une page intermédiaire, et pas tout dans le session on start paske ptêtre que ça le déchire trop de faire tout ça.....essaye peut-être de pas mettre le session on start, mais de mettre toutes tes trucs dans une page dans laquelle tu te feras rediriger ??????
Marsh Posté le 04-05-2001 à 17:36:16
le bleme, c'est que si l'internaute n'arrive pas par cette page intermédiaire, il passe au travers. alors qu'en enregistrant dans Session_OnStart il est pris en compte quelque soit l'endroit où il arrive.
Marsh Posté le 04-05-2001 à 23:58:17
bin alors ché po, dans ton session on_start mets un truc genre redirectTO_logue_toitrouduc
Marsh Posté le 07-05-2001 à 10:28:59
ReplyMarsh Posté le 07-05-2001 à 11:12:52
Euh... Mais y'a combien de gens qui viennent à la fois sur ton site ?????????????????????????????????????????????????????????
Parceque là, y'a vraiment un problème...
Tu peux t'amuser à mettre une seule cnx pour toute l'appli (au lieu de mettre en session, tu la met en application), mais là, c'est les requêtes à la queue-leuleu qui vont faire crasher le système...
Franchement, passer à un autre SGDB ou fait du load balancing... T'as plus le choix...
Marsh Posté le 07-05-2001 à 11:16:59
snif !!!
ce qui est marrant c'est que quand je vire ça : sql = "INSERT into stats (id, date_cnx, heure_cnx, chemin) VALUES ( '"& session ("myid" ) & "', '" & Date & "', '" & Time & "', '" & Request.ServerVariables("URL" ) &"')"
session("cnx" ).execute sql
ça marche très bien, donc j'en viens à penser que ce n'est pas le nb de connexion qui pose problème mais plutôt le fait de faire une requête dans le global.asa, pourtant, j'ai déjà vu ça plusieurs fois.
Sinon, ça me couterait combien de passer à un autre SGBD, du genre SQL server 2000 ? c'est long et compliqué?
Marsh Posté le 07-05-2001 à 11:31:32
Pour la requête, change dans la BDD et met un auto-incrément comme ID. (parceque là, tu lui met un nombre énorme et forcément, Access n'aime pas...
(Et en plus, la façon dont tu génères l'ID, le nombre n'est pas forcément unique...)
Deplus, y'a session.id qui est très bien comme numéro aléatoire et unique...
Pour finir, passage de Access à SQL Server 2K
1) Très simple à faire. Il y a même un module d'import qui te permet de récupérer les données par un simple clic.
2) C'est très rapide à mettre en place (Install + Import des données en moins d'une heure) - Bon, tu peux fignoler aussi, mais la taille de ta BDD ne justifie pas que tu perdes ton temps à optimiser comme un taré.
3) Par contre c'est très cher. Dans les 100 000 Frs la license je crois (et encore, c'est dans le cadre un d'un partenariat), et avec un nombre de licenses clients limité (5 je crois)
Faut compter l'offre internet qui doit se chiffrer autour de 200 000 Frs (c'est pour ça que les hébergeurs ASP demandent 5 à 6 000 Frs/mois HT pour un serveur de base...)
Mais il faut garder en mémoire que le serveur peut être utilisé pour gérer les autres bases de données de ta boîte par exemple. A ce moment on s'appeçoit qu'avec un serveur à 30 - 50 000 Frs matos tu as un serveur de SGDB qui va gérer sans le moindre problème toute la compta de ta boîte, les fichiers clients, et autres... (même si ta boîte est de grande taille - 1000 employés)
[edit]--Message édité par magicbuzz--[/edit]
Marsh Posté le 07-05-2001 à 11:39:26
l'auto increment c'est bien, mais comment je fais pour récupérer l'Id pour le passer à ma variable de session?? car j'en ai besoin ailleurs, de plus de la façon dont je le génère, je ne vois pas comment il pourrait ne pas être unique (à moins évidemment que + de 1000 personnes se connectent à la même seconde)
pour SQL server, j'crois qu'on va oublier...
Marsh Posté le 07-05-2001 à 11:41:40
Déjà, je continue sur SQL 2K
Si vous ne l'avez pas déjà, commandez la version d'évaluation de Microsoft SQL Server 2000 pour 120 jours et ne payez que les frais d'expédition ($14.95).
=> http://developerstore.com/devstore [...] OLBOX_INTL
Marsh Posté le 07-05-2001 à 11:42:57
Sinon, pour l'ID, c'est simple...
1) Met un Auto-incrément.
2) Crée un deuxième champs "session" (par exemple) dans lequel tu met session.id
3) session.id est unique pour chaque visite de chaque personne. C'est le même nombre durant tout le temps de la visite
Marsh Posté le 07-05-2001 à 11:47:15
ouais, c'est vrai que je pourrais utiliser session.id au lieu d'un id bricolé, mais bon ça va pas changer grand chose...
comment tu le récupère au fait?
Marsh Posté le 07-05-2001 à 11:51:49
session.id
ce que ça va changer c'est surtout de mettre un simple auto-incrément comme clé primaire...
Parceque là, avec ton truc, tu met à genoux même un SGDB du genre d'Oracle...
Marsh Posté le 07-05-2001 à 11:57:04
bah comme clé primaire j'ai déjà un simple auto-incrément, mon id était déjà dans un deuxième champ...
donc ça va pas changé grand chose en fait.
Marsh Posté le 03-05-2001 à 12:34:48
suite à ce topic là : http://forum.hardware.fr/sqlforum/ [...] inc&cache=
voilà ou j'en suis.
les optimisations avaient l'air de fonctionner très bien jusqu'au juor où, cette erreure là est apparue :
Microsoft OLE DB Provider for ODBC drivers (0x80040E4D)
[Microsoft][Pilote ODBC Microsoft Access] Trop de tâches client.
//global.asa, line 13
voici le global.asa
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
sub Application_OnStart
Application.Lock
Application("DSN" ) ="dsn=site_dsn;"
Application.UnLock
end sub
sub Session_OnStart
Randomize
session ("myid" )=Day(Now)&Month(Now)&Year(Now)&Hour(Now)&Minute(Now)&Second(Now)&Int(1000*Rnd)
Set session("CNX" ) = Server.CreateObject("ADODB.Connection" )
session("CNX" ).Open Application("DSN" )
sql = "INSERT into stats (id, date_cnx, heure_cnx, chemin) VALUES ( '"& session ("myid" ) & "', '" & Date & "', '" & Time & "', '" & Request.ServerVariables("URL" ) &"')"
session("cnx" ).execute sql
end sub
Sub Session_OnEnd
session("CNX" ).close
set session("CNX" ) = nothing
end sub
</SCRIPT>
j'ai fait une recherche sur le MSDN, et j'ai trouvé cet article, qui semble avoir un rapport lointain : http://support.microsoft.com/suppo [...] 7/3/29.ASP
j'ai aussi essayé d'augmenter le nb de threads pour le DSN de la base au niveau du panneau de config ODBC (de 3 à 6). Croyez-vous que ça puisse arranger le truc?
Pour l'insant ça à l'air de tenir, mais pour combien de temps ??
[edit]--Message édité par duch--[/edit]
---------------
Webmaster du site de l'Île-Saint-Denis : http://www.lile-saint-denis.fr