2010-09-22 6 views
0

J'ai une application vb.net utilisant du vieux ado.net pour exécuter un s'proc sur le serveur de base de données. Le processus insère simplement un enregistrement contenant des données binaires. Lorsque ceci est exécuté, je peux voir l'appel exec sur le proc à partir de sql profiler.Le processus SQL s'exécute mais rien n'est inséré dans la table

ado.net affirme que tout a fonctionné, sans erreur. Cependant, un enregistrement n'est pas inséré. Il n'y a pas de collisions clés ou quelque chose comme ça.

J'ai copié la requête que j'ai vue depuis profiler et l'ai exécutée directement dans le studio de gestion. Quand je l'exécute là, l'enregistrement est inséré.

Je n'ai aucune idée de quoi vérifier même après. Pensées?


a trouvé la réponse. Je voudrais aller de l'avant et supprimer cela, mais je suis sûr que je vais oublier un jour et rencontrer le même problème.

Pour une raison quelconque, sql server et ado.net conspiraient contre moi. Le compte d'utilisateur que j'essayais d'exécuter l'objet s'proc n'avait pas de droits d'exécution. Après avoir défini ces droits, cela se passait normalement. Maintenant, le problème que j'ai, c'est qu'il aurait dû y avoir un type d'avertissement, d'erreur, d'exception, quoi que ce soit qui dise "hé, tu ne peux pas faire ça" au lieu de simplement dire "Tout est bon". question pour Microsoft.

Merci à tous.

+0

Y a-t-il des transactions impliquées? –

+0

Aucune transaction. Juste un seul passage – NotMe

+1

Après avoir passé plusieurs heures sur ce sujet bien sûr, je trouve la réponse 10 minutes après l'affichage. – NotMe

Répondre

1

Il était une question de droits de sécurité. Voir le message.