-----Message d'origine-----
Jamais vu. Quelle est la chaîne de connexion ? A quel
Un peu de code ?
Est-ce bien un problème de "connexion" (ne serait ce pas
"transaction") ?
--
"marmotte" a écrit
news:04d201c493f4$b3eaf680$
Bonjour,
J'utilise sql server via VB.
Quand je veux exécuter une ligne de code dans vb pour
faire une insertion ou une suppression j'ai le message
suivant dans VB "impossible de créer une nouvelle
connexion manuelle ou distribué".
j'aimerais savoir s'il n'y a pas une option à cliquer dans
sql server pour y remédier.
merci
.
-----Message d'origine-----
Jamais vu. Quelle est la chaîne de connexion ? A quel
Un peu de code ?
Est-ce bien un problème de "connexion" (ne serait ce pas
"transaction") ?
--
"marmotte" <anonymous@discussions.microsoft.com> a écrit
news:04d201c493f4$b3eaf680$a401280a@phx.gbl...
Bonjour,
J'utilise sql server via VB.
Quand je veux exécuter une ligne de code dans vb pour
faire une insertion ou une suppression j'ai le message
suivant dans VB "impossible de créer une nouvelle
connexion manuelle ou distribué".
j'aimerais savoir s'il n'y a pas une option à cliquer dans
sql server pour y remédier.
merci
.
-----Message d'origine-----
Jamais vu. Quelle est la chaîne de connexion ? A quel
Un peu de code ?
Est-ce bien un problème de "connexion" (ne serait ce pas
"transaction") ?
--
"marmotte" a écrit
news:04d201c493f4$b3eaf680$
Bonjour,
J'utilise sql server via VB.
Quand je veux exécuter une ligne de code dans vb pour
faire une insertion ou une suppression j'ai le message
suivant dans VB "impossible de créer une nouvelle
connexion manuelle ou distribué".
j'aimerais savoir s'il n'y a pas une option à cliquer dans
sql server pour y remédier.
merci
.
-----Message d'origine-----
Jamais vu. Quelle est la chaîne de connexion ? A quel
Un peu de code ?
Est-ce bien un problème de "connexion" (ne serait ce pas
"transaction") ?
--
"marmotte" a écrit
news:04d201c493f4$b3eaf680$
Bonjour,
J'utilise sql server via VB.
Quand je veux exécuter une ligne de code dans vb pour
faire une insertion ou une suppression j'ai le message
suivant dans VB "impossible de créer une nouvelle
connexion manuelle ou distribué".
j'aimerais savoir s'il n'y a pas une option à cliquer dans
sql server pour y remédier.
merci
.
-----Message d'origine-----
Jamais vu. Quelle est la chaîne de connexion ? A quel
Un peu de code ?
Est-ce bien un problème de "connexion" (ne serait ce pas
"transaction") ?
--
"marmotte" <anonymous@discussions.microsoft.com> a écrit
news:04d201c493f4$b3eaf680$a401280a@phx.gbl...
Bonjour,
J'utilise sql server via VB.
Quand je veux exécuter une ligne de code dans vb pour
faire une insertion ou une suppression j'ai le message
suivant dans VB "impossible de créer une nouvelle
connexion manuelle ou distribué".
j'aimerais savoir s'il n'y a pas une option à cliquer dans
sql server pour y remédier.
merci
.
-----Message d'origine-----
Jamais vu. Quelle est la chaîne de connexion ? A quel
Un peu de code ?
Est-ce bien un problème de "connexion" (ne serait ce pas
"transaction") ?
--
"marmotte" a écrit
news:04d201c493f4$b3eaf680$
Bonjour,
J'utilise sql server via VB.
Quand je veux exécuter une ligne de code dans vb pour
faire une insertion ou une suppression j'ai le message
suivant dans VB "impossible de créer une nouvelle
connexion manuelle ou distribué".
j'aimerais savoir s'il n'y a pas une option à cliquer dans
sql server pour y remédier.
merci
.
-----Message d'origine-----
A mon avis :
- la transaction est inutile (par défaut SQL Server met
dans une transaction auto validée).
Ceci dit, ce code devrait tout de même fonctionner. Si tu
tirer au clair ce problème :
- mettre en commentaire le "On Error Resume Next"
- que donne la
Close" (chez moi cela fonctionne) sans boucle ou autres
(des fois que la connexion soit mise dans je ne sais quel
le code)
Ce qui donnerait par exemple :
Dim c As ADODB.Connection
Set c = New Connection
c.Open "Provider=SQLOLEDB;Data Source=ServeurInitial
ID=user;Password=motdepasse"
c.BeginTrans
c.Execute "UPDATE MaTable SET MaColonne=MaColonne"
c.CommitTrans
c.Close
Si cela ne marche pas, qu'est ce que cela donne sans
? Si cela marche, qu'est ce que cela donne en ajoutant le
erreur...
Bon courage.
Patrice
--
"marmotte" a écrit
news:6ab801c49409$d3c3d660$
voici le code en vb et ça plante après le execute
'Début de transaction
cn.BeginTrans
sql = "UPDATE W_Requetes SET [Nom requête] = '" &
DoubleLesQuotes(NouveauNomRequête) & "',[Créateur requête]
= '" & DoubleLesQuotes(NomProfil) & " ' WHERE [Nom
requête] = '" & DoubleLesQuotes(NomRequete) & "'"
On Error Resume Next
cn.Execute sql
If DetecteErreurSQL(sql) = True Then
cn.RollbackTrans
Exit Sub
End If
'Validation des écritures
cn.CommitTrans
et l'erreur précise est "impossible de créer une nouvelle
connexion en mode de transaction manuelle ou distribuée"
merci-----Message d'origine-----
Jamais vu. Quelle est la chaîne de connexion ? A quel
moment le plantage ?Un peu de code ?
Est-ce bien un problème de "connexion" (ne serait ce pas
plutôt"transaction") ?
--
"marmotte" a écrit
dans le message denews:04d201c493f4$b3eaf680$
Bonjour,
J'utilise sql server via VB.
Quand je veux exécuter une ligne de code dans vb pour
faire une insertion ou une suppression j'ai le message
suivant dans VB "impossible de créer une nouvelle
connexion manuelle ou distribué".
j'aimerais savoir s'il n'y a pas une option à cliquer
sql server pour y remédier.
merci
.
.
-----Message d'origine-----
A mon avis :
- la transaction est inutile (par défaut SQL Server met
dans une transaction auto validée).
Ceci dit, ce code devrait tout de même fonctionner. Si tu
tirer au clair ce problème :
- mettre en commentaire le "On Error Resume Next"
- que donne la
Close" (chez moi cela fonctionne) sans boucle ou autres
(des fois que la connexion soit mise dans je ne sais quel
le code)
Ce qui donnerait par exemple :
Dim c As ADODB.Connection
Set c = New Connection
c.Open "Provider=SQLOLEDB;Data Source=ServeurInitial
ID=user;Password=motdepasse"
c.BeginTrans
c.Execute "UPDATE MaTable SET MaColonne=MaColonne"
c.CommitTrans
c.Close
Si cela ne marche pas, qu'est ce que cela donne sans
? Si cela marche, qu'est ce que cela donne en ajoutant le
erreur...
Bon courage.
Patrice
--
"marmotte" <anonymous@discussions.microsoft.com> a écrit
news:6ab801c49409$d3c3d660$a501280a@phx.gbl...
voici le code en vb et ça plante après le execute
'Début de transaction
cn.BeginTrans
sql = "UPDATE W_Requetes SET [Nom requête] = '" &
DoubleLesQuotes(NouveauNomRequête) & "',[Créateur requête]
= '" & DoubleLesQuotes(NomProfil) & " ' WHERE [Nom
requête] = '" & DoubleLesQuotes(NomRequete) & "'"
On Error Resume Next
cn.Execute sql
If DetecteErreurSQL(sql) = True Then
cn.RollbackTrans
Exit Sub
End If
'Validation des écritures
cn.CommitTrans
et l'erreur précise est "impossible de créer une nouvelle
connexion en mode de transaction manuelle ou distribuée"
merci
-----Message d'origine-----
Jamais vu. Quelle est la chaîne de connexion ? A quel
moment le plantage ?
Un peu de code ?
Est-ce bien un problème de "connexion" (ne serait ce pas
plutôt
"transaction") ?
--
"marmotte" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news:04d201c493f4$b3eaf680$a401280a@phx.gbl...
Bonjour,
J'utilise sql server via VB.
Quand je veux exécuter une ligne de code dans vb pour
faire une insertion ou une suppression j'ai le message
suivant dans VB "impossible de créer une nouvelle
connexion manuelle ou distribué".
j'aimerais savoir s'il n'y a pas une option à cliquer
sql server pour y remédier.
merci
.
.
-----Message d'origine-----
A mon avis :
- la transaction est inutile (par défaut SQL Server met
dans une transaction auto validée).
Ceci dit, ce code devrait tout de même fonctionner. Si tu
tirer au clair ce problème :
- mettre en commentaire le "On Error Resume Next"
- que donne la
Close" (chez moi cela fonctionne) sans boucle ou autres
(des fois que la connexion soit mise dans je ne sais quel
le code)
Ce qui donnerait par exemple :
Dim c As ADODB.Connection
Set c = New Connection
c.Open "Provider=SQLOLEDB;Data Source=ServeurInitial
ID=user;Password=motdepasse"
c.BeginTrans
c.Execute "UPDATE MaTable SET MaColonne=MaColonne"
c.CommitTrans
c.Close
Si cela ne marche pas, qu'est ce que cela donne sans
? Si cela marche, qu'est ce que cela donne en ajoutant le
erreur...
Bon courage.
Patrice
--
"marmotte" a écrit
news:6ab801c49409$d3c3d660$
voici le code en vb et ça plante après le execute
'Début de transaction
cn.BeginTrans
sql = "UPDATE W_Requetes SET [Nom requête] = '" &
DoubleLesQuotes(NouveauNomRequête) & "',[Créateur requête]
= '" & DoubleLesQuotes(NomProfil) & " ' WHERE [Nom
requête] = '" & DoubleLesQuotes(NomRequete) & "'"
On Error Resume Next
cn.Execute sql
If DetecteErreurSQL(sql) = True Then
cn.RollbackTrans
Exit Sub
End If
'Validation des écritures
cn.CommitTrans
et l'erreur précise est "impossible de créer une nouvelle
connexion en mode de transaction manuelle ou distribuée"
merci-----Message d'origine-----
Jamais vu. Quelle est la chaîne de connexion ? A quel
moment le plantage ?Un peu de code ?
Est-ce bien un problème de "connexion" (ne serait ce pas
plutôt"transaction") ?
--
"marmotte" a écrit
dans le message denews:04d201c493f4$b3eaf680$
Bonjour,
J'utilise sql server via VB.
Quand je veux exécuter une ligne de code dans vb pour
faire une insertion ou une suppression j'ai le message
suivant dans VB "impossible de créer une nouvelle
connexion manuelle ou distribué".
j'aimerais savoir s'il n'y a pas une option à cliquer
sql server pour y remédier.
merci
.
.
-----Message d'origine-----
A mon avis :
- la transaction est inutile (par défaut SQL Server met
dans une transaction auto validée).
Ceci dit, ce code devrait tout de même fonctionner. Si tu
tirer au clair ce problème :
- mettre en commentaire le "On Error Resume Next"
- que donne la
Close" (chez moi cela fonctionne) sans boucle ou autres
(des fois que la connexion soit mise dans je ne sais quel
le code)
Ce qui donnerait par exemple :
Dim c As ADODB.Connection
Set c = New Connection
c.Open "Provider=SQLOLEDB;Data Source=ServeurInitial
ID=user;Password=motdepasse"
c.BeginTrans
c.Execute "UPDATE MaTable SET MaColonne=MaColonne"
c.CommitTrans
c.Close
Si cela ne marche pas, qu'est ce que cela donne sans
? Si cela marche, qu'est ce que cela donne en ajoutant le
erreur...
Bon courage.
Patrice
--
"marmotte" a écrit
news:6ab801c49409$d3c3d660$
voici le code en vb et ça plante après le execute
'Début de transaction
cn.BeginTrans
sql = "UPDATE W_Requetes SET [Nom requête] = '" &
DoubleLesQuotes(NouveauNomRequête) & "',[Créateur requête]
= '" & DoubleLesQuotes(NomProfil) & " ' WHERE [Nom
requête] = '" & DoubleLesQuotes(NomRequete) & "'"
On Error Resume Next
cn.Execute sql
If DetecteErreurSQL(sql) = True Then
cn.RollbackTrans
Exit Sub
End If
'Validation des écritures
cn.CommitTrans
et l'erreur précise est "impossible de créer une nouvelle
connexion en mode de transaction manuelle ou distribuée"
merci-----Message d'origine-----
Jamais vu. Quelle est la chaîne de connexion ? A quel
moment le plantage ?Un peu de code ?
Est-ce bien un problème de "connexion" (ne serait ce pas
plutôt"transaction") ?
--
"marmotte" a écrit
dans le message denews:04d201c493f4$b3eaf680$
Bonjour,
J'utilise sql server via VB.
Quand je veux exécuter une ligne de code dans vb pour
faire une insertion ou une suppression j'ai le message
suivant dans VB "impossible de créer une nouvelle
connexion manuelle ou distribué".
j'aimerais savoir s'il n'y a pas une option à cliquer
sql server pour y remédier.
merci
.
.
-----Message d'origine-----
A mon avis :
- la transaction est inutile (par défaut SQL Server met
dans une transaction auto validée).
Ceci dit, ce code devrait tout de même fonctionner. Si tu
tirer au clair ce problème :
- mettre en commentaire le "On Error Resume Next"
- que donne la
Close" (chez moi cela fonctionne) sans boucle ou autres
(des fois que la connexion soit mise dans je ne sais quel
le code)
Ce qui donnerait par exemple :
Dim c As ADODB.Connection
Set c = New Connection
c.Open "Provider=SQLOLEDB;Data Source=ServeurInitial
ID=user;Password=motdepasse"
c.BeginTrans
c.Execute "UPDATE MaTable SET MaColonne=MaColonne"
c.CommitTrans
c.Close
Si cela ne marche pas, qu'est ce que cela donne sans
? Si cela marche, qu'est ce que cela donne en ajoutant le
erreur...
Bon courage.
Patrice
--
"marmotte" <anonymous@discussions.microsoft.com> a écrit
news:6ab801c49409$d3c3d660$a501280a@phx.gbl...
voici le code en vb et ça plante après le execute
'Début de transaction
cn.BeginTrans
sql = "UPDATE W_Requetes SET [Nom requête] = '" &
DoubleLesQuotes(NouveauNomRequête) & "',[Créateur requête]
= '" & DoubleLesQuotes(NomProfil) & " ' WHERE [Nom
requête] = '" & DoubleLesQuotes(NomRequete) & "'"
On Error Resume Next
cn.Execute sql
If DetecteErreurSQL(sql) = True Then
cn.RollbackTrans
Exit Sub
End If
'Validation des écritures
cn.CommitTrans
et l'erreur précise est "impossible de créer une nouvelle
connexion en mode de transaction manuelle ou distribuée"
merci
-----Message d'origine-----
Jamais vu. Quelle est la chaîne de connexion ? A quel
moment le plantage ?
Un peu de code ?
Est-ce bien un problème de "connexion" (ne serait ce pas
plutôt
"transaction") ?
--
"marmotte" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news:04d201c493f4$b3eaf680$a401280a@phx.gbl...
Bonjour,
J'utilise sql server via VB.
Quand je veux exécuter une ligne de code dans vb pour
faire une insertion ou une suppression j'ai le message
suivant dans VB "impossible de créer une nouvelle
connexion manuelle ou distribué".
j'aimerais savoir s'il n'y a pas une option à cliquer
sql server pour y remédier.
merci
.
.
-----Message d'origine-----
A mon avis :
- la transaction est inutile (par défaut SQL Server met
dans une transaction auto validée).
Ceci dit, ce code devrait tout de même fonctionner. Si tu
tirer au clair ce problème :
- mettre en commentaire le "On Error Resume Next"
- que donne la
Close" (chez moi cela fonctionne) sans boucle ou autres
(des fois que la connexion soit mise dans je ne sais quel
le code)
Ce qui donnerait par exemple :
Dim c As ADODB.Connection
Set c = New Connection
c.Open "Provider=SQLOLEDB;Data Source=ServeurInitial
ID=user;Password=motdepasse"
c.BeginTrans
c.Execute "UPDATE MaTable SET MaColonne=MaColonne"
c.CommitTrans
c.Close
Si cela ne marche pas, qu'est ce que cela donne sans
? Si cela marche, qu'est ce que cela donne en ajoutant le
erreur...
Bon courage.
Patrice
--
"marmotte" a écrit
news:6ab801c49409$d3c3d660$
voici le code en vb et ça plante après le execute
'Début de transaction
cn.BeginTrans
sql = "UPDATE W_Requetes SET [Nom requête] = '" &
DoubleLesQuotes(NouveauNomRequête) & "',[Créateur requête]
= '" & DoubleLesQuotes(NomProfil) & " ' WHERE [Nom
requête] = '" & DoubleLesQuotes(NomRequete) & "'"
On Error Resume Next
cn.Execute sql
If DetecteErreurSQL(sql) = True Then
cn.RollbackTrans
Exit Sub
End If
'Validation des écritures
cn.CommitTrans
et l'erreur précise est "impossible de créer une nouvelle
connexion en mode de transaction manuelle ou distribuée"
merci-----Message d'origine-----
Jamais vu. Quelle est la chaîne de connexion ? A quel
moment le plantage ?Un peu de code ?
Est-ce bien un problème de "connexion" (ne serait ce pas
plutôt"transaction") ?
--
"marmotte" a écrit
dans le message denews:04d201c493f4$b3eaf680$
Bonjour,
J'utilise sql server via VB.
Quand je veux exécuter une ligne de code dans vb pour
faire une insertion ou une suppression j'ai le message
suivant dans VB "impossible de créer une nouvelle
connexion manuelle ou distribué".
j'aimerais savoir s'il n'y a pas une option à cliquer
sql server pour y remédier.
merci
.
.
-----Message d'origine-----
L'instruction est *déjà* dans une transaction implicite
annulée) donc pas de soucis. Cf
http://support.microsoft.com/default.aspx?id8024 pour
vérifier par exemple en provoquant une erreur de division
vérifiant qu'aucun des enregistrements n'est modifié.
Par contre je ne vois toujours pas quel est la raison qui
message ? La connexion est-elle utilisée au préalable.
propriété isolationlevel ? Je crois savoir qu'il arrive
connexions supplémentaires et j'ai l'impression que c'est
faire sans succès car une transaction explicite est en
Est-ce que le code suivant sans rien d'autre échoue ?
Dim c As ADODB.Connection
Set c = New Connection
c.Open "Provider=SQLOLEDB;Data Source=Serveur;Initial
ID=user;Password=pwd"
c.BeginTrans
c.Execute "UPDATE MaTable SET Colonne=Colonne"
c.CommitTrans
c.Close
Etrange...
Patrice
--
"marmotte" a écrit
news:6b8101c49416$d306b500$
merci,
ça marche quand on enlève le begin trans, mais est ce que
ce n'est pas dangereux de ne pas pouvoir valider la
requête car s'il y a une erreur le retour en arrière n'est
pas possible.-----Message d'origine-----
A mon avis :
- la transaction est inutile (par défaut SQL Server met
chaque instructiondans une transaction auto validée).
Ceci dit, ce code devrait tout de même fonctionner. Si tu
veux tout de mêmetirer au clair ce problème :
- mettre en commentaire le "On Error Resume Next"
- que donne la
séquence "Open", "BeginTrans", "Execute", "CommitTrans","Close" (chez moi cela fonctionne) sans boucle ou autres
travaux préalables(des fois que la connexion soit mise dans je ne sais quel
état ailleurs dansle code)
Ce qui donnerait par exemple :
Dim c As ADODB.Connection
Set c = New Connection
c.Open "Provider=SQLOLEDB;Data Source=ServeurInitial
Catalogºse;UserID=user;Password=motdepasse"
c.BeginTrans
c.Execute "UPDATE MaTable SET MaColonne=MaColonne"
c.CommitTrans
c.Close
Si cela ne marche pas, qu'est ce que cela donne sans
BeginTrans/CommitTrans? Si cela marche, qu'est ce que cela donne en ajoutant le
rollbacktrans sierreur...
Bon courage.
Patrice
--
"marmotte" a écrit
dans le message denews:6ab801c49409$d3c3d660$
voici le code en vb et ça plante après le execute
'Début de transaction
cn.BeginTrans
sql = "UPDATE W_Requetes SET [Nom requête] = '" &
DoubleLesQuotes(NouveauNomRequête) & "',[Créateur
= '" & DoubleLesQuotes(NomProfil) & " ' WHERE [Nom
requête] = '" & DoubleLesQuotes(NomRequete) & "'"
On Error Resume Next
cn.Execute sql
If DetecteErreurSQL(sql) = True Then
cn.RollbackTrans
Exit Sub
End If
'Validation des écritures
cn.CommitTrans
et l'erreur précise est "impossible de créer une nouvelle
connexion en mode de transaction manuelle ou distribuée"
merci-----Message d'origine-----
Jamais vu. Quelle est la chaîne de connexion ? A quel
moment le plantage ?Un peu de code ?
Est-ce bien un problème de "connexion" (ne serait ce pas
plutôt"transaction") ?
--
"marmotte" a écrit
dans le message denews:04d201c493f4$b3eaf680$
Bonjour,
J'utilise sql server via VB.
Quand je veux exécuter une ligne de code dans vb pour
faire une insertion ou une suppression j'ai le message
suivant dans VB "impossible de créer une nouvelle
connexion manuelle ou distribué".
j'aimerais savoir s'il n'y a pas une option à cliquer
danssql server pour y remédier.
merci
.
.
.
-----Message d'origine-----
L'instruction est *déjà* dans une transaction implicite
annulée) donc pas de soucis. Cf
http://support.microsoft.com/default.aspx?id=198024 pour
vérifier par exemple en provoquant une erreur de division
vérifiant qu'aucun des enregistrements n'est modifié.
Par contre je ne vois toujours pas quel est la raison qui
message ? La connexion est-elle utilisée au préalable.
propriété isolationlevel ? Je crois savoir qu'il arrive
connexions supplémentaires et j'ai l'impression que c'est
faire sans succès car une transaction explicite est en
Est-ce que le code suivant sans rien d'autre échoue ?
Dim c As ADODB.Connection
Set c = New Connection
c.Open "Provider=SQLOLEDB;Data Source=Serveur;Initial
ID=user;Password=pwd"
c.BeginTrans
c.Execute "UPDATE MaTable SET Colonne=Colonne"
c.CommitTrans
c.Close
Etrange...
Patrice
--
"marmotte" <anonymous@discussions.microsoft.com> a écrit
news:6b8101c49416$d306b500$a501280a@phx.gbl...
merci,
ça marche quand on enlève le begin trans, mais est ce que
ce n'est pas dangereux de ne pas pouvoir valider la
requête car s'il y a une erreur le retour en arrière n'est
pas possible.
-----Message d'origine-----
A mon avis :
- la transaction est inutile (par défaut SQL Server met
chaque instruction
dans une transaction auto validée).
Ceci dit, ce code devrait tout de même fonctionner. Si tu
veux tout de même
tirer au clair ce problème :
- mettre en commentaire le "On Error Resume Next"
- que donne la
séquence "Open", "BeginTrans", "Execute", "CommitTrans","
Close" (chez moi cela fonctionne) sans boucle ou autres
travaux préalables
(des fois que la connexion soit mise dans je ne sais quel
état ailleurs dans
le code)
Ce qui donnerait par exemple :
Dim c As ADODB.Connection
Set c = New Connection
c.Open "Provider=SQLOLEDB;Data Source=ServeurInitial
Catalog=base;User
ID=user;Password=motdepasse"
c.BeginTrans
c.Execute "UPDATE MaTable SET MaColonne=MaColonne"
c.CommitTrans
c.Close
Si cela ne marche pas, qu'est ce que cela donne sans
BeginTrans/CommitTrans
? Si cela marche, qu'est ce que cela donne en ajoutant le
rollbacktrans si
erreur...
Bon courage.
Patrice
--
"marmotte" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news:6ab801c49409$d3c3d660$a501280a@phx.gbl...
voici le code en vb et ça plante après le execute
'Début de transaction
cn.BeginTrans
sql = "UPDATE W_Requetes SET [Nom requête] = '" &
DoubleLesQuotes(NouveauNomRequête) & "',[Créateur
= '" & DoubleLesQuotes(NomProfil) & " ' WHERE [Nom
requête] = '" & DoubleLesQuotes(NomRequete) & "'"
On Error Resume Next
cn.Execute sql
If DetecteErreurSQL(sql) = True Then
cn.RollbackTrans
Exit Sub
End If
'Validation des écritures
cn.CommitTrans
et l'erreur précise est "impossible de créer une nouvelle
connexion en mode de transaction manuelle ou distribuée"
merci
-----Message d'origine-----
Jamais vu. Quelle est la chaîne de connexion ? A quel
moment le plantage ?
Un peu de code ?
Est-ce bien un problème de "connexion" (ne serait ce pas
plutôt
"transaction") ?
--
"marmotte" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news:04d201c493f4$b3eaf680$a401280a@phx.gbl...
Bonjour,
J'utilise sql server via VB.
Quand je veux exécuter une ligne de code dans vb pour
faire une insertion ou une suppression j'ai le message
suivant dans VB "impossible de créer une nouvelle
connexion manuelle ou distribué".
j'aimerais savoir s'il n'y a pas une option à cliquer
dans
sql server pour y remédier.
merci
.
.
.
-----Message d'origine-----
L'instruction est *déjà* dans une transaction implicite
annulée) donc pas de soucis. Cf
http://support.microsoft.com/default.aspx?id8024 pour
vérifier par exemple en provoquant une erreur de division
vérifiant qu'aucun des enregistrements n'est modifié.
Par contre je ne vois toujours pas quel est la raison qui
message ? La connexion est-elle utilisée au préalable.
propriété isolationlevel ? Je crois savoir qu'il arrive
connexions supplémentaires et j'ai l'impression que c'est
faire sans succès car une transaction explicite est en
Est-ce que le code suivant sans rien d'autre échoue ?
Dim c As ADODB.Connection
Set c = New Connection
c.Open "Provider=SQLOLEDB;Data Source=Serveur;Initial
ID=user;Password=pwd"
c.BeginTrans
c.Execute "UPDATE MaTable SET Colonne=Colonne"
c.CommitTrans
c.Close
Etrange...
Patrice
--
"marmotte" a écrit
news:6b8101c49416$d306b500$
merci,
ça marche quand on enlève le begin trans, mais est ce que
ce n'est pas dangereux de ne pas pouvoir valider la
requête car s'il y a une erreur le retour en arrière n'est
pas possible.-----Message d'origine-----
A mon avis :
- la transaction est inutile (par défaut SQL Server met
chaque instructiondans une transaction auto validée).
Ceci dit, ce code devrait tout de même fonctionner. Si tu
veux tout de mêmetirer au clair ce problème :
- mettre en commentaire le "On Error Resume Next"
- que donne la
séquence "Open", "BeginTrans", "Execute", "CommitTrans","Close" (chez moi cela fonctionne) sans boucle ou autres
travaux préalables(des fois que la connexion soit mise dans je ne sais quel
état ailleurs dansle code)
Ce qui donnerait par exemple :
Dim c As ADODB.Connection
Set c = New Connection
c.Open "Provider=SQLOLEDB;Data Source=ServeurInitial
Catalogºse;UserID=user;Password=motdepasse"
c.BeginTrans
c.Execute "UPDATE MaTable SET MaColonne=MaColonne"
c.CommitTrans
c.Close
Si cela ne marche pas, qu'est ce que cela donne sans
BeginTrans/CommitTrans? Si cela marche, qu'est ce que cela donne en ajoutant le
rollbacktrans sierreur...
Bon courage.
Patrice
--
"marmotte" a écrit
dans le message denews:6ab801c49409$d3c3d660$
voici le code en vb et ça plante après le execute
'Début de transaction
cn.BeginTrans
sql = "UPDATE W_Requetes SET [Nom requête] = '" &
DoubleLesQuotes(NouveauNomRequête) & "',[Créateur
= '" & DoubleLesQuotes(NomProfil) & " ' WHERE [Nom
requête] = '" & DoubleLesQuotes(NomRequete) & "'"
On Error Resume Next
cn.Execute sql
If DetecteErreurSQL(sql) = True Then
cn.RollbackTrans
Exit Sub
End If
'Validation des écritures
cn.CommitTrans
et l'erreur précise est "impossible de créer une nouvelle
connexion en mode de transaction manuelle ou distribuée"
merci-----Message d'origine-----
Jamais vu. Quelle est la chaîne de connexion ? A quel
moment le plantage ?Un peu de code ?
Est-ce bien un problème de "connexion" (ne serait ce pas
plutôt"transaction") ?
--
"marmotte" a écrit
dans le message denews:04d201c493f4$b3eaf680$
Bonjour,
J'utilise sql server via VB.
Quand je veux exécuter une ligne de code dans vb pour
faire une insertion ou une suppression j'ai le message
suivant dans VB "impossible de créer une nouvelle
connexion manuelle ou distribué".
j'aimerais savoir s'il n'y a pas une option à cliquer
danssql server pour y remédier.
merci
.
.
.