Post by Joerg FischerGiven the code within a COM+ ServicedComponent
adapt.Connection = conn;
conn.Open();
conn.EnlistDistributedTransaction((ITransaction)ContextUtil.Transaction);
adapt.Update(ds);
-SQLSTATE HY000, SQLCODE -343. SQLSTATE: HY000, SQLCODE -343
Can anyone give me an enlightment on that?
Hi Joerg
I can't tell you the root cause of your error, but here's some background
info. "SQLSTATE HY000" means that the error code is defined by the software
vendor (as opposed to the universal, ANSI-defined SQLSTATE/SQLCODE error
codes). So, to find out what SQLCODE -343 means, we need to look at the
Microsoft-supplied documentation. In this case, the documentation is the
db2oledb.h file, in the HIS SDK :-), at <HIS
directory>\SDK\include\db2oledb.h. In this file, we find:
#define DB2OLEDB_DDM_PRCCNVRM (DB2OLEDB_DDM_ERROR_START-87) /* -343 */
So "SQLCODE -343" is telling us that when the Ole DB Provider tried to
communicate with DB2, it hit a PRCCNVRM error at the DDM layer ("DDM" is
Distributed Data Management, an IBM-defined protocol for talking to
databases - but, um, you probably already knew that). DDM errors like
PRCCNVRM are defined in IBM's publication SC21-9526 "DDM Architecture:
Reference". PRCCNVRM means there was a distributed protocol error. This
could be something very subtle in the semantics of the transaction; or, it
could be something as simple as having the wrong IP address or TCP Port for
the DRDA Server. If you use the SNA Trace utility in HIS to get a DDM-layer
trace, there will be an Exception record returned to HIS with the PRCCNVRM
error; thsi will contain a two-byte field with a more precise sub-qualifier
to teh PRCCNVRM error.
But maybe start by verifying the basic communications setup between the Ole
DB Provider and DB2. Looking through the archives, another guy got this
error message when he specified the IP address of the DB2 Connect Gateway,
instead of the DB2 server itself (see
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1101094&SiteID=1)
Other folks might have extra info; I hope this helps a bit!
Tschuess :-)
Andrew
--
Andrew McLaren
Sydney, Australia
amclaren (at) ieee dot org