[DB-SIG] mxODBC.ProgrammingError: ('37000', 8501, "[Microsoft][ODBC SQL Server Driver][SQL Server]MSDTC on server 'xxxxx' is unavailable.", 4612)

Joe Goldthwaite joe at goldthwaites.com
Wed Nov 3 22:51:02 CET 2004


I suspect I'm not going to get a happy answer on this one.  I ran into it
during the final testing of some major structural changes in my application.
I'm using SQL server as my database.  I had originally built some data
tables for reporting and was storing them in the main database used by our
JDE application.  Due to some additional requirements for other reporting
databases, I pulled the tables out and put them in their own database on a
separate server.  I then used Microsoft SQL servers ability to link tables
to access the raw data from the JDE database and pull the data into the
reporting database.

To do this, I specify the fully qualified table name in my stored procedure.
For example, to reference the F0901 table in the JDE_PRODUCTION database on
our JDEENT server, I have to reference it as
JDEENT.JDE_PRODUCTION.PRODDTA.F0901.  JDEENT is the server name,
JDE_PRODUCTION is the database name and PRODDTA is the table owner.

If I execute the stored procedure or one of the individual queries from
within Microsoft's SQL Query Analyzer, it works fine.  When I try to execute
the exact same SQL statement from the cursor.execute function, I get the
above MSDTC error.  MSDTC stands for Microsoft Distributed Transaction
Coordinator.

I suspect that the MS Query Analyzer is doing something different that
allows it to reference linked tables that the mxODBC code does not.  I'm
hoping that someone knows about some setting or something that enables the
use of linked tables in mxODBC.  I'm not optimistic though.  It's a bummer
that I ran into this at the END of all my changes...


Thanks for reading,

Joe Goldthwaite



More information about the DB-SIG mailing list