SQL SERVEUR TRANSACTION

nourwahiba Messages postés 82 Date d'inscription mardi 18 octobre 2005 Statut Membre Dernière intervention 23 juin 2011 - 30 mai 2006 à 11:26
Beanys Messages postés 1 Date d'inscription mardi 14 mars 2006 Statut Membre Dernière intervention 16 juin 2006 - 16 juin 2006 à 13:06
bonjour
j'ai une application vb qui accede a une BD sql serveur

j'ai 3 poste 1 serveur et 2 client

j'ai installé cettte aplication dans les 2 clients
( la base de donnée est dans le serveur  )

qunad je lance mon application depuis 1 de mes client cette erreur bloque l'aplication dont je ne comprend  la raison
l'erreur est la suivante

cannot create new connection because in manual or distributed transaction mode

 qcq peut m'aider svp ?
merci

6 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
30 mai 2006 à 11:32
Salut,

Il faudrait que tu donnes le petit bout de code contenant le paramétrage de ta connection, ca pourrait aider.

Et le petit bout de code qui donne l'erreur serait le bienvenu aussi.

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
nourwahiba Messages postés 82 Date d'inscription mardi 18 octobre 2005 Statut Membre Dernière intervention 23 juin 2011
30 mai 2006 à 12:56
rebonjour
le code contenant le paramétrage de ma connection:




Sub Connexion()


Set cn = New ADODB.Connection
With cn


 .provider = "SQLOLEDB.1;"
 .ConnectionString = " Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=base   ;Data source= serveur1  "
 .Open
End With
cn.CommandTimeout = 0
Exit Sub


End Sub

le petit bout de code qui donne l'erreur :
un petit resumé conecernant cette fonction : elle me permet de calculer le solde d'un client donner

Function solde()
  Dim rsb As New ADODB.Recordset
  Dim rsf As New ADODB.Recordset
  Dim rsc As New ADODB.Recordset
  Dim rse As New ADODB.Recordset
  Dim rsr As New ADODB.Recordset


  ' -1 table bon de livraison


 rsb.Open " select client , dat , nbon ,total from bonliv  where client = '" & Combo1.Text & "'   ", cn
 While Not rsb.EOF And Not rsb.BOF
  conver (rsb!dat)
    cn.Execute "fiche_cl   '" & Combo1.Text & "' , '" & dd & "' , '" & rsb!nbon & "' , '" & Str(rsb!total) & "'  "
  rsb.MoveNext
 Wend


'-2 table regfour
rsf.Open " select  fourn, dat,obs,versement from regfour  where fourn = '" & Combo1.Text & "'   ", cn
  While Not rsf.EOF And Not rsf.BOF
  conver (rsf!dat)
  With cmd
          .ActiveConnection = cn
          .CommandText = " insert into [fiche client] (client,dat1,nbl,enlevement,recouvrement) values  ('" & rsf!fourn & "' ,'" & dd & "','" & rsf!obs & "\ Reg Fournisseur" & "','" & Str(rsf!versement) & "',0)"
          .Execute
  End With
  rsf.MoveNext
  Wend




'-3 table bon reception
 rse.Open " select fournisseur ,brp, dat , mttc  from breception  where fournisseur = '" & Combo1.Text & "'   ", cn
 While Not rse.EOF And Not rse.BOF
  conver (rse!dat)
  With cmd
           .ActiveConnection = cn
          .CommandText = " insert into [fiche client] (client,dat2,nbe,recouvrement,enlevement) values  ('" & rse!fournisseur & "','" & dd & "','" & " BE N°" & rse!brp & "','" & Str(rse!mttc) & "',0)"
          .Execute
      
l'erreur est la au .execute 
( avant cette fonction j'ai un petit code qui accede a ma table breception )
    End With
  rse.MoveNext
 
 Wend


'-4 table bon reintegration


 rsr.Open " select numb ,client, dat , mttc  from  b_retour where client = '" & Combo1.Text & "'   ", cn
 While Not rsr.EOF And Not rsr.BOF
  conver (rsr!dat)
  With cmd
           .ActiveConnection = cn
          .CommandText = " insert into [fiche client] (client,dat2,nbe,recouvrement,enlevement) values   ('" & Combo1.Text & "','" & dd & "','" & " BR N°" & rsr!numb & "','" & Str(rsr!mttc) & "',0)"
          .Execute
    End With
  rsr.MoveNext
 
 Wend




'-4 table reglement client


 rsc.Open " select obs ,client, dat , versement from   regclient where client = '" & Combo1.Text & "'   ", cn
 While Not rsc.EOF And Not rsc.BOF
  conver (rsc!dat)
  With cmd
           .ActiveConnection = cn
          .CommandText = " insert into [fiche client] (client,dat2,nbe,recouvrement,enlevement) values  ('" & rsc!client & "' ,'" & dd & "','" & rsc!obs & "\ Reg Client" & "','" & Str(rsc!versement) & "',0)"
          .Execute
  End With
   
  rsc.MoveNext
  Wend
  rsc.Close
  rsr.Close
  rse.Close
  rsf.Close
End Function

j'espere que vous pourriez comprendre un peu ce code?
merci pour votre aide
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
30 mai 2006 à 15:02
Salut,

Je pense que le probleme viens de l'utilisation de la meme connexion pour tout tes traitements.

Utilise d'autre connexion sur la meme base de données

'-3 table bon reception
 rse.Open " select fournisseur ,brp, dat , mttc  from breception  where fournisseur = '" & Combo1.Text & "'   ", cn

 While Not rse.EOF And Not rse.BOF
  conver (rse!dat)
  With cmd
           .ActiveConnection = cn
         
.CommandText = " insert into [fiche client]
(client,dat2,nbe,recouvrement,enlevement) values  ('" &
rse!fournisseur & "','" & dd & "','" & " BE N°" &
rse!brp & "','" & Str(rse!mttc) & "',0)"
          .Execute
      
l'erreur est la au .execute 
( avant cette fonction j'ai un petit code qui accede a ma table breception )
    End With
  rse.MoveNext
 
 Wend

Dans cet exemple, remplace la connexion verte par la deuxieme connexion.
Et peux etre que le probleme vas disparaitre.

Voila
0
nourwahiba Messages postés 82 Date d'inscription mardi 18 octobre 2005 Statut Membre Dernière intervention 23 juin 2011
30 mai 2006 à 15:21
 salut  a vous   nhervagault
puisque je suis dans le bureau je vais tester ça et jespere bien que ca va marcher ...
merci pour votre aide
bonne suite !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nourwahiba Messages postés 82 Date d'inscription mardi 18 octobre 2005 Statut Membre Dernière intervention 23 juin 2011
10 juin 2006 à 10:40
 c toujour le meme problemees
0
Beanys Messages postés 1 Date d'inscription mardi 14 mars 2006 Statut Membre Dernière intervention 16 juin 2006
16 juin 2006 à 13:06
Beanys
je suis interessée par les transactions en Sql server et msAcces, pourrais-je avoir des astuces ou des expériences vécues. Pouvez vous me proposer un controle qui puisse attaquer les données sans connexion à la base, avant la transaction(ajout, modif, suppression)
0
Rejoignez-nous