Quoi, tu ne connais pas PB ? Va falloir parcourir tout le forum alors !

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 05-05-2010 11:06:30

lh  
Membre
Date d'inscription: 27-10-2009
Messages: 15
Pépites: 80
Banque: 0

[RESOLU] Erreur 'CREATE TABLE' is not allowed within a multi-statement transact

Erreur 'CREATE TABLE' is not allowed within a multi-statement transaction in the 'tempdb' database...

Je suis en train de développer une nouvelle fonction dans une appli existente en PB 9.0.3 et Sybase ASE 12.3.
J'ai une window avec une datawindow qui fait appel à une procédure stockée dans laquelle je crée une table temporaire pour traiter ma requête. Quand je lance mon application, sur le retrieve lancé dans ma window, j'ai le message cité au début.
Pourtant quand je fait le retrieve de ma datawindow sous PB, tout se passe bien.
Que dois-je faire sans bouleverser le traitement existant ?

Dernière modification par lh (05-05-2010 12:45:56)

Hors ligne

 

#2 05-05-2010 11:27:41

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4659
Pépites: 945
Banque: 2,147,483,647
Site web

Re: [RESOLU] Erreur 'CREATE TABLE' is not allowed within a multi-statement transact

hello,

tu ne peux pas creer une table temporaire dans une transaction BEGIN TRAN....
il faudrait la creer avant de lancer ta procédure.


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#3 05-05-2010 11:28:32

FMolinas  
Membre Geek
Lieu: Lyon
Date d'inscription: 12-06-2007
Messages: 87
Pépites: 97
Banque: 6,435,474,948,567

Re: [RESOLU] Erreur 'CREATE TABLE' is not allowed within a multi-statement transact

Ton problème vient certainement de la gestion de l'AutoCommit par l'objet Transaction. F1 est ton ami, en particulier la rubrique "AutoCommit database preference" :

F1 a écrit:

(...)
Therefore, to execute DDL statements or stored procedures containing DDL statements in a SQL Server database, you must set AutoCommit to true to issue the DDL statements outside the scope of a transaction. You should, however, set AutoCommit back to false immediately after executing the DDL statements.
(...)

Hors ligne

 

#4 05-05-2010 12:45:25

lh  
Membre
Date d'inscription: 27-10-2009
Messages: 15
Pépites: 80
Banque: 0

Re: [RESOLU] Erreur 'CREATE TABLE' is not allowed within a multi-statement transact

Merci, tout est OK avec SQLCA.Autocommit = TRUE avant le retrieve et SQLCA.Autocommit = FALSE après

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22