CFTRANSACTION w/ ROLLBACK

Ask a Question related to Macromedia ColdFusion, Design and Development.

  1. #1

    Default CFTRANSACTION w/ ROLLBACK

    Here's what I'm trying to do, this worked in CF 5, but bombs with the following
    error in CFMX 6: The <CFCATCH> tag requires an end tag to nest within
    <CFTRANSACTION>, which began on line 14, column 2. The first query should
    work, the 2nd should bomb, I want the first rolled back.

    <CFTRANSACTION ACTION="BEGIN">

    <CFTRY>

    <CFQUERY name="INSERT_USAGE" datasource="TEST_DB">
    INSERT INTO USAGE_TYPE(USAGE_CDE, USAGE_DESC)
    VALUES ('999','ABC123')
    </CFQUERY>

    <CFQUERY NAME="GARBAGE" DATASOURCE="TEST_DB">
    INSERT INTO GARBAGE(GARBAGE_CDE)
    VALUES('G123')
    </CFQUERY>

    <CFCATCH TYPE="Database">
    <CFTRANSACTION ACTION="ROLLBACK"></CFTRANSACTION>
    AN ERROR HAS OCCURRED
    </CFCATCH>

    </CFTRY>

    </CFTRANSACTION>

    akosz Guest

  2. Similar Questions and Discussions

    1. cftransaction
      I have a question about CFTRANSACTION. We are currently using CF6.0 with various versions of Oracle and SQL Server. In our server settings we do...
    2. CFTransaction doesn't rollback on error
      Hi all, years ago on CF 4.5, our cftransaction tags used to rollback changed data when something inbetween <cftransaction> and </cftransaction>...
    3. CFtransaction error
      I'm getting the following error: Nested transactions are not supported. A cftransaction tag can not be nested within another cftransaction tag. ...
    4. is this possible - cftransaction
      I don't want to get into the whole 'users shouldn't have access to the db' discussion. It's a battle that's been lost. We are looking at...
    5. cftransaction question
      Hi there ! Let's say i have a first query which inserts a new row in a table, then a second query (myquery) trying to get the id of the inserted row...
  3. #2

    Default Re: CFTRANSACTION w/ ROLLBACK

    You might try losing the </cftransaction> in your rollback section, and
    rearrange your <cftry> and </cftry> tags.

    <CFTRY>
    <CFTRANSACTION ACTION="BEGIN" />

    <CFQUERY name="INSERT_USAGE" datasource="TEST_DB">
    INSERT INTO USAGE_TYPE(USAGE_CDE, USAGE_DESC)
    VALUES ('999','ABC123')
    </CFQUERY>

    <CFQUERY NAME="GARBAGE" DATASOURCE="TEST_DB">
    INSERT INTO GARBAGE(GARBAGE_CDE)
    VALUES('G123')
    </CFQUERY>

    <CFCATCH TYPE="Database">
    <CFTRANSACTION ACTION="ROLLBACK" />
    AN ERROR HAS OCCURRED
    </CFCATCH>

    </CFTRANSACTION>

    </CFTRY>

    paross1 Guest

  4. #3

    Default Re: CFTRANSACTION w/ ROLLBACK

    paross1 wrote:
    > You might try losing the </cftransaction> in your rollback section, and
    > rearrange your <cftry> and </cftry> tags.
    Not sure if this is mandatory or not, but that's typically how I do
    things--put the try around the transaction instead of vice-versa. Works
    in 6.1 and 7.

    Matt

    --
    Matt Woodward
    Team Macromedia - ColdFusion
    mpwoodward *TMM* Guest

  5. #4

    Default Re: CFTRANSACTION w/ ROLLBACK

    paross1 - I tried your solution but got the following error: The start tag
    must have a matching end tag. This could be because CFCATCH is not the last tag
    nested in the CFTRY. CFCATCH must be the last tag inside a CFTRY. i don't get
    it, this used to work. anybody have a better idea? are there cf admin
    settings that need to be adjusted or something?

    akosz Guest

  6. #5

    Default Re: CFTRANSACTION w/ ROLLBACK

    paross1 - I tried your solution but got the following error: The start tag
    must have a matching end tag. This could be because CFCATCH is not the last tag
    nested in the CFTRY. CFCATCH must be the last tag inside a CFTRY. i don't get
    it, this used to work. anybody have a better idea? are there cf admin
    settings that need to be adjusted or something?

    akosz Guest

  7. #6

    Default Re: CFTRANSACTION w/ ROLLBACK

    found the problem, i had to get rid of the slash at the end of this line:

    <CFTRANSACTION ACTION='BEGIN' />

    otherwise paross1's answer is correct!
    akosz Guest

  8. #7

    Default Re: CFTRANSACTION w/ ROLLBACK

    Ooops, sorry, got a little carried away with the closing slash character. Yes,
    you would not want to include it with the BEGIN cftransaction, only for "self
    closing" purposes on subsequent COMMIT or ROLLBACK cftransaction tags.

    Phil

    paross1 Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139