4 Replies Latest reply on Nov 18, 2001 1:45 AM by David Jencks

    SQL Server - sysglobaltransactions

    Steve Norman Newbie

      Hello All,

      The following is my setup:

      MS SQL Server 7.00.623
      Windows NT 4.0 SP2
      JDK 1.3
      i-net Opta 2000 4.12

      It seems that in order to use CMP with an Entity bean I need to grant access to the master database to the username in my pooled database driver. My DBA doesn't think that Jboss should be updating the master database. Apparently records are being put into the sysglobaltransactions table. Is there any reasoning for this that I can relate to put him at ease?

      Thanks in advance,

      Steve Norman

        • 1. Re: SQL Server - sysglobaltransactions
          Allen Fogleson Newbie

          what is your JDBC url? what database does it connect to. Under sqlserver the default database (if none is in the url) is the master DB. I would agree with the DBA, a BAD place to be mucking around :)

          If he opens it... you should slap him. heh. I would bet it is in the JDBC URL (if I was a betting man).


          • 2. Re: SQL Server - sysglobaltransactions
            Steve Norman Newbie

            Thanks for the reply,

            The following is my pool connection as defined in jboss.jcml. The username used for the connection does not default to the 'master' database.

            When I use an entity bean the correct database (named 'security') is being reference and updated but, at the same time the 'sysglobaltransactions' table in the 'master' database is also being updated.

            Thanks for any help you or anyone else can provide...

            host=xx.xxx.229.7; database=security

            • 3. Re: SQL Server - sysglobaltransactions
              Allen Fogleson Newbie

              the only thing i see is that the datasource class is not the jboss one. Leave it like the example and add your drivers into the drivers part of the jcml.


              • 4. Re: SQL Server - sysglobaltransactions
                David Jencks Master

                I know nothing specific about mssql, however, if you are using a ms xa capable driver, which appears to be the case, and the sysglobaltransactions table indeed keeps track of global (xa) transactions, what does your dba expect? in this case, every transaction IS GLOBAL, potentially involving every db known to the master db. Note that if you are using transacted jms or more than one db you NEED the xa driver in order to get real transactions. The jboss XADataSourceImpl is a (near) hack to let people without an xa capable db play with j2ee at the severe risk of burning their fingers (or data) if they are accessing more than one resource manager in a transaction.