I'm putting a driver together that talks to some of our SQL databases for
building groups and group memberships using IDM2 JDBC and MSSQL driver.
I've got the driver configured to use indirect synch and the tables and
triggers are all in place. I keep getting this SQL error followed by a java
exception that I'm having trouble working out.

<jdbc:exception jdbc:class="java.sql.SQLException" jdbc:error-code="208"
jdbc:sql-state="42S02">
<jdbc:message>[Microsoft][SQLServer 2000 Driver for
JDBC][SQLServer]Invalid object name 'grpName'.</jdbc:message>
<jdbc:stack-trace>java.sql.SQLException: [Microsoft][SQLServer 2000 Driver
for JDBC][SQLServer]Invalid object name 'grpName'.
at com.microsoft.jdbc.base.BaseExceptions.createExcep tion(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getExceptio n(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.proces sErrorToken(Unknown
Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.proces sReplyToken(Unknown
Source)
at
com.microsoft.jdbc.sqlserver.tds.TDSRPCRequest.pro cessReplyToken(Unknown
Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.proces sReply(Unknown Source)
at
com.microsoft.jdbc.sqlserver.SQLServerImplStatemen t.getNextResultType(Unknown
Source)
at com.microsoft.jdbc.base.BaseStatement.commonTransi tionToState(Unknown
Source)
at com.microsoft.jdbc.base.BaseStatement.postImplExec ute(Unknown Source)
at com.microsoft.jdbc.base.BasePreparedStatement.post ImplExecute(Unknown
Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecut e(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeUpdat eInternal(Unknown Source)
at com.microsoft.jdbc.base.BasePreparedStatement.exec uteUpdate(Unknown Source)
at
com.novell.nds.dirxml.driver.jdbc.util.JDBCConnect ionImpl.executeUpdate(Unknown
Source)
at
com.novell.nds.dirxml.driver.jdbc.util.JDBCConnect ionImpl.insertInto(Unknown
Source)
at
com.novell.nds.dirxml.driver.jdbc.JDBCSubscription Shim.handleAdd(Unknown
Source)
at
com.novell.nds.dirxml.driver.jdbc.JDBCSubscription Shim.handleTransaction(Unknown
Source)
at
com.novell.nds.dirxml.driver.jdbc.JDBCSubscription Shim.synchronousTransaction(Unknown
Source)
at
com.novell.nds.dirxml.driver.jdbc.JDBCSubscription Shim.handleTransactions(Unknown
Source)
at com.novell.nds.dirxml.driver.jdbc.JDBCSubscription Shim.execute(Unknown
Source)
at com.novell.nds.dirxml.engine.Subscriber.execute(Su bscriber.java:396)
at com.novell.nds.dirxml.engine.Subscriber.execute(Su bscriber.java:166)
at com.novell.nds.dirxml.engine.Subscriber.processAdd (Subscriber.java:945)
at com.novell.nds.dirxml.engine.Subscriber.processEve nt(Subscriber.java:743)
at com.novell.nds.dirxml.engine.Subscriber.processEve nts(Subscriber.java:717)
at com.novell.nds.dirxml.engine.Driver.submitTransact ion(Driver.java:576)
at
com.novell.nds.dirxml.engine.DriverEntry.submitTra nsaction(DriverEntry.java:981)
at
com.novell.nds.dirxml.engine.DriverEntry.processCa chedTransaction(DriverEntry.java:865)
at com.novell.nds.dirxml.engine.DriverEntry.eventLoop (DriverEntry.java:692)
at com.novell.nds.dirxml.engine.DriverEntry.run(Drive rEntry.java:506)
at java.lang.Thread.run(Thread.java:534)
</jdbc:stack-trace>

This is taken from a level 3 trace that shows the following query
information.

[02/01/06 12:11:47.000]: trace1 ST:
MSSQL-eDir-Warehouse-eMailGroups\Subscriber: BEGIN Transaction
[02/01/06 12:11:47.000]: trace1 ST:
MSSQL-eDir-Warehouse-eMailGroups\Subscriber: INSERT INTO
dbo.EmailGroups(grpName) VALUES (?)
[02/01/06 12:11:47.000]: trace1 ST:
MSSQL-eDir-Warehouse-eMailGroups\Subscriber: IN param @ index 1, field
'grpName' = 'testtest6', length: 9
[02/01/06 12:11:47.015]: trace1 ST:
MSSQL-eDir-Warehouse-eMailGroups\Subscriber: ROLLBACK
[02/01/06 12:11:47.015]: trace1 ST: SubscriptionShim.execute() returned:
[02/01/06 12:11:47.015]: trace1 ST:

Looking at the database tables that this trying to map to, table
EmailGroups has a primary key on field grpName and running the following
INSERT manually through Query Analyser succeeds with no issues and adds the
correct details to the eventlog.

INSERT INTO dbo.EmailGroups(grpName) VALUES ('testtest6')

Is there anything else I anyone can suggest to help me find out exactly
what IDM is doing at the point this query fails?

Thanks
Martyn