Effacer Delete - Lignes d'une commande - F_DOCLIGNE

Forum consacré aux développements d'applications interfacées avec les logiciels Sage

Modérateurs: Super Modérateur, Modérateurs

Règles du forum
Merci de prendre connaissance des règles d'utilisation du forum

Avant de poster un nouveau message, utilisez la fonction RECHERCHER. Indiquez la VERSION de votre logiciel et toutes informations utiles à la résolution de votre question. Ne rédigez pas vos messages en MAJUSCULES. Soyez courtois et pensez aux formules de POLITESSE d'usage. Les messages à vocation COMMERCIALE ou PUBLICITAIRE seront supprimés.

*** LORSQU'UN SUJET EST RESOLU, SON AUTEUR DOIT EDITER LE 1ER MESSAGE DU SUJET EN HAUT DE PAGE ET COCHER "SUJET RESOLU" ***

Effacer Delete - Lignes d'une commande - F_DOCLIGNE

Messagede jozzz » Jeu 21 Jan 2010 16:28

Bonjour à tous,

je développe en PHP et j'ai besoin de supprimer des lignes d'un documents de vente. La base qui est derrière est SQL Server 2000.

J'ai d'abord essayé via le driver odbc, mais il se trouve que la requête met jusqu'à 1h30 pour effacer 30 enregistrements! 30 secondes serait acceptable, pas 1h30 !

Code: Tout sélectionner
odbc_exec("DELETE FROM F_DOCLIGNE WHERE DO_Piece='$DO_Piece'");



J'ai donc décidé d'executer cette requête en passant par l'extension Microsoft SQL Server (mssql) fournit par php.

Code: Tout sélectionner
mssql_query("DELETE FROM F_DOCLIGNE WHERE DO_Piece='$DO_Piece'");


Là le symptome est différent:
PHP Warning: mssql_query(): message: DELETE a échoué car les options SET suivantes comportent des paramètres incorrects : 'ANSI_NULLS., QUOTED_IDENTIFIER, CONCAT_NULL_YIELDS_NULL, ANSI_WARNINGS, ANSI_PADDING, ARITHABORT'. (severity 16)


Or si j'effectue cette même requête via l'analyseur de requête fourni avec SQL Serveur, tout se passe très bien et mes enregistrement sont supprimés en 1/2 secondes !!

Quelqu'un pourrait-il éclairer ma lanterne?? D'avance merci.
Dernière édition par jozzz le Jeu 21 Jan 2010 19:18, édité 3 fois.
jozzz
Posteur néophyte
Posteur néophyte
 
Messages: 4
Inscription: Jeu 21 Jan 2010 16:09

Re: Effacer Delete - Lignes d'une commande - F_DOCLIGNE

Messagede jozzz » Jeu 21 Jan 2010 17:18

J'ai trouvé une solution à mon problème: avant d'envoyer ma requête 'DELETE', j'envoie la requête suivante:

Code: Tout sélectionner
SET ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL,ARITHABORT, QUOTED_IDENTIFIER, ANSI_NULLS on
.

++
jozzz
Posteur néophyte
Posteur néophyte
 
Messages: 4
Inscription: Jeu 21 Jan 2010 16:09


Retourner vers Développements ODBC, Objets métiers, SQL

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités