Codé en SQL DMO ( dans du perl ) une tentative de connexion est bloquée
indéfiniement lorsque la machine qui héberge le SQL Server auquel le process
souhaite se connecter est stoppée, et ce quelques soit la méthode de login :
par authentification OS ou pas login nommé + . Le process client reste
toujours bloqué lorsque la machine redémarre.
Ce n'est pas un comportement normal, comment faire en sorte que l'appel à la
commande de connexion rende la main avec un status à jour ?
Nous avons déjà testé :
my $srv = Win32::OLE-> new("SQLDMO.SQLServer") or die "connexion
impossible\n";
$srv->{'LoginTimeout'} = 30; # 30 secondes
$srv->Connect($server, $user, $passwd);
- Comme le montre le tableau ci-dessous, le meme script perl a un
comportement correct dans certain cas, mais a un comportement ingérable en
cas d'arret de la machine et il lreste bloqué même quand elle redémarre.
- Nous avons bien patché la partie cliente avec le dernier MDAC disponible
- Je ne peux lire la propriété Status de l'objet SQLServer qu'une fois
connecté à celui-ci et c'est bien là le pb.
- J'ai testé le cas LoginTimeout = 0, cela revient à une attente infinie (
no time out ) , c'est le comportement que je veux éviter : que la tentative
de connexion rende la main et avoir un status d'echec.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Brigitte
Je vous fais part du tableau :
isql -E -SHostNameSqlName -l1 DMO with LoginTimeout = 1 HostName n'existe pas OK OK
Host OK et SqlName OK attente infinie n'existe pas
Host stoppé OK attente infinie
Host Ok et SQL Server stoppé OK OK
Bonne fin de journée et merci
Brigitte
"Brigitte" a écrit :
Codé en SQL DMO ( dans du perl ) une tentative de connexion est bloquée indéfiniement lorsque la machine qui héberge le SQL Server auquel le process souhaite se connecter est stoppée, et ce quelques soit la méthode de login : par authentification OS ou pas login nommé + . Le process client reste toujours bloqué lorsque la machine redémarre.
Ce n'est pas un comportement normal, comment faire en sorte que l'appel à la commande de connexion rende la main avec un status à jour ?
Nous avons déjà testé : my $srv = Win32::OLE-> new("SQLDMO.SQLServer") or die "connexion impossiblen"; $srv->{'LoginTimeout'} = 30; # 30 secondes $srv->Connect($server, $user, $passwd);
- Comme le montre le tableau ci-dessous, le meme script perl a un comportement correct dans certain cas, mais a un comportement ingérable en cas d'arret de la machine et il lreste bloqué même quand elle redémarre. - Nous avons bien patché la partie cliente avec le dernier MDAC disponible - Je ne peux lire la propriété Status de l'objet SQLServer qu'une fois connecté à celui-ci et c'est bien là le pb. - J'ai testé le cas LoginTimeout = 0, cela revient à une attente infinie ( no time out ) , c'est le comportement que je veux éviter : que la tentative de connexion rende la main et avoir un status d'echec.
Merci
Bonne journée
Brigitte
Je vous fais part du tableau :
isql -E -SHostNameSqlName -l1 DMO with
LoginTimeout = 1
HostName
n'existe pas OK
OK
Host OK et
SqlName OK
attente infinie
n'existe pas
Host stoppé OK
attente infinie
Host Ok et
SQL Server stoppé OK
OK
Bonne fin de journée et merci
Brigitte
"Brigitte" a écrit :
Codé en SQL DMO ( dans du perl ) une tentative de connexion est bloquée
indéfiniement lorsque la machine qui héberge le SQL Server auquel le process
souhaite se connecter est stoppée, et ce quelques soit la méthode de login :
par authentification OS ou pas login nommé + . Le process client reste
toujours bloqué lorsque la machine redémarre.
Ce n'est pas un comportement normal, comment faire en sorte que l'appel à la
commande de connexion rende la main avec un status à jour ?
Nous avons déjà testé :
my $srv = Win32::OLE-> new("SQLDMO.SQLServer") or die "connexion
impossiblen";
$srv->{'LoginTimeout'} = 30; # 30 secondes
$srv->Connect($server, $user, $passwd);
- Comme le montre le tableau ci-dessous, le meme script perl a un
comportement correct dans certain cas, mais a un comportement ingérable en
cas d'arret de la machine et il lreste bloqué même quand elle redémarre.
- Nous avons bien patché la partie cliente avec le dernier MDAC disponible
- Je ne peux lire la propriété Status de l'objet SQLServer qu'une fois
connecté à celui-ci et c'est bien là le pb.
- J'ai testé le cas LoginTimeout = 0, cela revient à une attente infinie (
no time out ) , c'est le comportement que je veux éviter : que la tentative
de connexion rende la main et avoir un status d'echec.
isql -E -SHostNameSqlName -l1 DMO with LoginTimeout = 1 HostName n'existe pas OK OK
Host OK et SqlName OK attente infinie n'existe pas
Host stoppé OK attente infinie
Host Ok et SQL Server stoppé OK OK
Bonne fin de journée et merci
Brigitte
"Brigitte" a écrit :
Codé en SQL DMO ( dans du perl ) une tentative de connexion est bloquée indéfiniement lorsque la machine qui héberge le SQL Server auquel le process souhaite se connecter est stoppée, et ce quelques soit la méthode de login : par authentification OS ou pas login nommé + . Le process client reste toujours bloqué lorsque la machine redémarre.
Ce n'est pas un comportement normal, comment faire en sorte que l'appel à la commande de connexion rende la main avec un status à jour ?
Nous avons déjà testé : my $srv = Win32::OLE-> new("SQLDMO.SQLServer") or die "connexion impossiblen"; $srv->{'LoginTimeout'} = 30; # 30 secondes $srv->Connect($server, $user, $passwd);
- Comme le montre le tableau ci-dessous, le meme script perl a un comportement correct dans certain cas, mais a un comportement ingérable en cas d'arret de la machine et il lreste bloqué même quand elle redémarre. - Nous avons bien patché la partie cliente avec le dernier MDAC disponible - Je ne peux lire la propriété Status de l'objet SQLServer qu'une fois connecté à celui-ci et c'est bien là le pb. - J'ai testé le cas LoginTimeout = 0, cela revient à une attente infinie ( no time out ) , c'est le comportement que je veux éviter : que la tentative de connexion rende la main et avoir un status d'echec.