Erreur OleDB [SQLServer] - SQL/NoSQL - Programmation
Marsh Posté le 01-08-2005 à 15:56:33
euh... t'es sûr qu'on peut passer un array à cmd.execute ???
ceci est juste une question, c'est peut-être le cas, mais je ne l'ai jamais vu, ni dans du code, ni dans une doc
Marsh Posté le 01-08-2005 à 16:10:52
en fait je suis en stage et je bosse sur une appli déjà existante.
et vu le nombre de cmd.execute qui utilise un array dans l'appli, je pense que oui, on peut le faire ;o)
en fait on utilise un tableau pour passer plusieurs valeurs à la requête que l'on éxecute.
Marsh Posté le 01-08-2005 à 16:15:11
Sinon, je ne sais pas d'où vient ton problème.
Je sais que je l'ai eu il n'y a pas longtemps, mais pas à quoi il était dû...
Marsh Posté le 01-08-2005 à 16:52:36
même pas une petite idée ?????
c'était plutôt du genre le truc tellement évident qu'on ne le voit même pas ou bien un matin, au réveil ça a marché tout seul et depuis plus de problème ???
Marsh Posté le 01-08-2005 à 17:07:06
truc évident je dirais. en tout cas, quand j'ai résolu mon erreur, je me souviens m'être demandé le rapport entre mon erreur et celle qu'il me disait.
vérifie par exemple que tu n'as pas de trigger ou de FK avec des options de cascade.
Marsh Posté le 01-08-2005 à 17:07:24
et tente de passer la requête dans SQL Server directement
Marsh Posté le 01-08-2005 à 17:28:18
bon ben ma requête elle passe bien dans l'analyeur de requête
Code :
|
aucun trigger ni FK sur cette table
les seules trucs un peu particulier que je fais au niveau du SQL sont :
_l'insertion d'un champ vide
_l'utilisation de la fonction Getdate (qui varemplir un champ datetime
Marsh Posté le 01-08-2005 à 17:52:38
merci pour tes conseils Arjuna
c'est fini pour moi aujourd'hui, je me casse du boulot....
pas idée de faire un stage pendant le mois d'aout ! y a plus personne, c'est mort, je suis le dernier à partir et mon tuteur ne revient que dans 2 semaines !!!!
Marsh Posté le 01-08-2005 à 18:00:51
le 'getdate()' tu le passes avec ton array ???
si oui, alors t'as déjà un bug ici, met le en clair à la place d'un des ? (à sa place), et vire-le de ton array.
pour le champ vide, idem, si tu passes null, je ne suis pas sur qu'avec VB ca marche correctement (déjà, vb n'aime pas les NULL dans les champs typés, et en plus, normalement, un NULL côté programmation n'est pas le même qu'un NULL dans la base, donc essaie de mettre NULL à la place d'un des ?
Marsh Posté le 02-08-2005 à 09:10:29
bon alors, je vais raconter mon histoire de puis le début ....
en fait, la requête est dans une procédure stockée
hier, j'ai sortie la requête de la procédure stockée "pour faire un essai"
donc ce matin je suis repartie sur ma procédure stockée et voici l'erreur que j'ai :
Microsoft OLE DB Provider for ODBC Drivers (0x80040E57)
[Microsoft][ODBC SQL Server Driver]Troncation à droite de la chaîne de données
donc voici le code ma PS
Code :
|
et voici le code qui appel la PS
Code :
|
comme tu peux le voir le getdate() n'est pas passé dans le array mais exécuté par SQL Server.
sinon l'erreur de ce matin, a été obtenue sans chaine de caractères vides ni NULL
je sais pas si peux aider mais voila les données envoyées au navisgateur :
Code :
|
Marsh Posté le 01-08-2005 à 15:02:04
Bonjour,
je bosse sur un site ASP qui accède à une base SQL Server 2000.
Je souhaite insérer des données dans la une table. Pour cela j'éxecute une requête qui est en dur dans le code (pas de procédure stockée donc) et j'obtiens l'erreur suivante :
ça veut dire quoi ce charabia ?? je ne vois pas trop en quoi mon insertion se passe en plusieurs étapes.
je mets le bout de code qui foire au cas où
si quelqu'un a la moindre petite idée, merci d'avance