Erreur panier

Signaler
Messages postés
438
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
23 janvier 2011
-
Messages postés
438
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
23 janvier 2011
-
Bonjours à tous et à toutes,


 


j'ai repris un stater kit thebeerhouse exactement. et quand je veux le tester en local avec gestion du panier et que j'arrive à la fin pour le paiement en ligne sa marche parfaitement.


 


mais cher un hebergeur sa ne marche pas. il m'affiche ce message suivant :


 



The transaction manager has disabledits support for remote/network transactions. (Exception fromHRESULT: 0x8004D024)





Description:
An unhandled exception occurredduring the execution of the current web request. Pleasereview the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Runtime.InteropServices.COMException: The transaction manager has disabledits support for remote/network transactions. (Exception fromHRESULT: 0x8004D024)

Source Error:

Line 658:            cmd.Parameters.Add("@Quantity", SqlDbType.Int).Value = orderItem.Quantity;
Line 659:            cmd.Parameters.Add("@OrderItemID", SqlDbType.Int).Direction = ParameterDirection.Output;
Line 660:            cn.Open();
Line 661:            int ret = ExecuteNonQuery(cmd);
Line 662:            return (int)cmd.Parameters["@OrderItemID"].Value;





 


 


Note : j'ai pris cet exemple pour apprendre le ASP.Net en profondeur, j'ai réussi (et compris, je crois que c'est le principal de comprendre ce que l'on fait) beaucoup de chose jusqu'à présent, excepter ceci.


 


C'est l'ouverture de la base de données. j'ai bien entendu recopier la base de données à l'identique sur les serveurs à l'identique, tous les procédures en ligne également. les clés primaires, etc...


j'ai également appris à utiliser SQL qui m'étais totalement inconnu avant.


 


quand je test sur mon pc il me redirige vers paypal sans souci. mais cher l'hebergeur j'ai droit à ce message. j'ai fouinner


 


j'ai jeter un oeil sur google et je n'ai rien trouver.


 


merci à vous me m'aider à comprendre cette erreur

7 réponses

Messages postés
438
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
23 janvier 2011

je continu à fouiller dans sql 2005, mais je me suis aperçu (enfin d'après MES manip') que lorqu'on télécharger nos tables de notre pc vers le serveur cher l'hebergeur il télécharger les données que contient les tables, mais non la structure. C'est à dire : définition de la clé primaire, etc... les propriétés des champs en gros.

Peut-on dans sql télécharger la TOTALITÉ des tables avec leur propriété. de tel façon à ce qu'elle soit identique à la bdd sur notre pc ?

je pense que sa résoudre mon problème ? non qu'en pensez-vous ?
Messages postés
438
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
23 janvier 2011

J'ai tout éplucher.
si sa marche en local, les fichiers copier sur le serveur devrai également marcher ! j'ai fait une procédure pas à pas. quand j'utilise la bdd sur mon pc sa marche et quand je modifie le config pour mettre celle chez l'hebergeur, sa ne marche pas !

Donc le souci proviens de la base de donnée !

=> c'est à l'ouverture de la base de données exactement.

donc sa provient de ma bdd logiquement !! :(

Mais la connexion est bonne car elle se trouve dans le fichier config et est utiliser pour de nombreuses fonctions qui marche à merveille... j'ai revérifier la structure encore et encore, recréer les relations à l'identique existante sur la bdd d'origine.

Et toujours rien :(
Messages postés
438
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
23 janvier 2011

j'ai redéfini ma connexion manuellement comme il le conseiller sur certain site américain, du style :

public
override
int InsertOrder(
OrderDetails order){

using (
SqlConnection cn =
new
SqlConnection(
"Server=***.***.***.*.**;Data Source =***.***.***.*.**;Database=confort;User Id=****;Password=****")){

SqlCommand cmd =
new
SqlCommand(
"tbh_Store_InsertOrder", cn);cmd.CommandType =

CommandType.StoredProcedure;cmd.Parameters.Add(

"@AddedDate",
SqlDbType.DateTime).Value = order.AddedDate;cmd.Parameters.Add(

"@AddedBy",
SqlDbType.NVarChar).Value = order.AddedBy;cmd.Parameters.Add(

"@StatusID",
SqlDbType.Int).Value = order.StatusID;cmd.Parameters.Add(

"@ShippingMethod",
SqlDbType.NVarChar).Value = order.ShippingMethod;cmd.Parameters.Add(

"@SubTotal",
SqlDbType.Money).Value = order.SubTotal;cmd.Parameters.Add(

"@Shipping",
SqlDbType.Money).Value = order.Shipping;cmd.Parameters.Add(

"@ShippingFirstName",
SqlDbType.NVarChar).Value = order.ShippingFirstName;cmd.Parameters.Add(

"@ShippingLastName",
SqlDbType.NVarChar).Value = order.ShippingLastName;cmd.Parameters.Add(

"@ShippingStreet",
SqlDbType.NVarChar).Value = order.ShippingStreet;cmd.Parameters.Add(

"@ShippingPostalCode",
SqlDbType.NVarChar).Value = order.ShippingPostalCode;cmd.Parameters.Add(

"@ShippingCity",
SqlDbType.NVarChar).Value = order.ShippingCity;cmd.Parameters.Add(

"@ShippingState",
SqlDbType.NVarChar).Value = order.ShippingState;cmd.Parameters.Add(

"@ShippingCountry",
SqlDbType.NVarChar).Value = order.ShippingCountry;cmd.Parameters.Add(

"@CustomerEmail",
SqlDbType.NVarChar).Value = order.CustomerEmail;cmd.Parameters.Add(

"@CustomerPhone",
SqlDbType.NVarChar).Value = order.CustomerPhone;cmd.Parameters.Add(

"@CustomerFax",
SqlDbType.NVarChar).Value = order.CustomerFax;cmd.Parameters.Add(

"@TransactionID",
SqlDbType.NVarChar).Value = order.TransactionID;cmd.Parameters.Add(

"@OrderID",
SqlDbType.Int).Direction =
ParameterDirection.Output;cn.Open();

int ret = ExecuteNonQuery(cmd);

return (
int)cmd.Parameters[
"@OrderID"].Value;}

}
et ca ne marche toujours :(
si quelqu'un pouvait me filer un coup de pouce par ce que je suis vraiment à cours d'idée :(

Merci
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Bonsoir,

Le service msdtc est il lancé ?
>> http://forums.asp.net/t/1102593.aspx

Tu peux nous montrer le contenu de ta procédure stockée ?

A mon avis cela vient de la configuration du server sql où de windows.

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant
Messages postés
438
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
23 janvier 2011

Bonsoir,

j'ai démarrer le site en mode débugage sous VS, AVEC la base de données cher l'hebergeur cette fois, et je suis pas à pas les lignes de code. puis arriver à la ligne où sa bug il m'affiche un message un peu plus clair :)

"L'accès réseau de MSDTC (Distributed Transaction Manager) a été désactivé. Activez DTC pour l'accès réseau dans la configuration de sécurité de MSDTC à l'aide de l'outil administratif des services de composants."

Au départ de mon projet j'avai oublié d'activer le service msdtc sur mon pc, sa m'afficher une message différent mais qui voulait dire la même chose !
J'ai téléphoner à l'hebergeur cet aprème et à vérifier sur le serveur directement et ma bien affirmer qu'il été bel et bien démarrer. c'est sur un serveur dédié.

J'ai du recréer les structures identiques de la BDD, elles sont bien identiques maintenant, surtout les tables qui sont utilisé pour cette procédure.

les lignes de code que j'ai mis ci-dessus sont celle de la création de la commande. mais l'erreur ne s'affiche pas la :( dsl
c'est la 2eme connexion, soit le détail de la commande, tous les éléments qui la contient :

voici les lignes de code :

SqlCommand cmd =
new
SqlCommand(
"tbh_Store_InsertOrderItem", cn);cmd.CommandType =

CommandType.StoredProcedure;cmd.Parameters.Add(

"@AddedDate",
SqlDbType.DateTime).Value = orderItem.AddedDate;cmd.Parameters.Add(

"@AddedBy",
SqlDbType.NVarChar).Value = orderItem.AddedBy;cmd.Parameters.Add(

"@OrderID",
SqlDbType.Int).Value = orderItem.OrderID;cmd.Parameters.Add(

"@ProductID",
SqlDbType.Int).Value = orderItem.ProductID;cmd.Parameters.Add(

"@Title",
SqlDbType.NVarChar).Value = orderItem.Title;cmd.Parameters.Add(

"@SKU",
SqlDbType.NVarChar).Value = orderItem.SKU;cmd.Parameters.Add(

"@UnitPrice",
SqlDbType.Money).Value = orderItem.UnitPrice;cmd.Parameters.Add(

"@Quantity",
SqlDbType.Int).Value = orderItem.Quantity;cmd.Parameters.Add(

"@OrderItemID",
SqlDbType.Int).Direction =
ParameterDirection.Output;

//cn.Open();

int ret = ExecuteNonQuery(cmd);

//cn.Close();

return (
int)cmd.Parameters[
"@OrderItemID"].Value;
___________________________________________________________________

et voici la procèdure stokée qui la concerne :

___________________________________________________________________

ALTER PROCEDURE

dbo.tbh_Store_InsertOrderItem(

@AddedDate

datetime,@AddedBy

nvarchar(256),@OrderID

int,@ProductID

int,@Title

nvarchar(256),@SKU

nvarchar(256),@UnitPrice

money,@Quantity

int,@OrderItemID

int OUTPUT)

AS

SET NOCOUNT ON

INSERT INTO

tbh_OrderItems(AddedDate, AddedBy, OrderID, ProductID, Title, SKU, UnitPrice, Quantity)

VALUES (@AddedDate, @AddedBy, @OrderID, @ProductID, @Title, @SKU, @UnitPrice, @Quantity)
SET

@OrderItemID =
scope_identity()

j'ai temporairement mis en commentaire les 2 lignes où sont déclarer la BDD (de insertorder & insertorderitem) et mi une déclaration général pour la classe. afin quelle soit dispo pour ces deux fonctions.

Mais le problème c'est qu'il m'affiche une erreur si je veux réutiliser la connexion car la BDD ne se referme jamais...
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Je ne connais malheureusement pas assez msdtc ...

As tu essayé de faire un simple select sans meme passer par une SP, un select en mode "crade"

command = new SqlCommand("Select ... ", conn);

Arrives tu à acceder à la base en prod via le management studio de sql server ?

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant
Messages postés
438
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
23 janvier 2011

non sa ne marche pas non plus :(

je n'ai pas compris ta question ? tu veux dire me connecter via management studio pour toute les modif" que je veux ?
si telle été ta question la réponse est oui, j'arrive à me connecter sans problème à cette base et dans mon code qui bug, si je modifie la connexion, je fait exprès de mettre une lettre de plus ou de moins de tel sorte à ce qu'il ne puisse pas s'y connecter, la il m'affiche bien : attention impossible de se connecter !