Dynamic VDB deploys in inactive state & throws exception
scottdawson May 10, 2011 6:01 PMMy environment is:
JBoss AS 5.1
Teiid 7.3
SQL Server 2005 with JTDS 1.2.5 JDBC connector
I have a data source for the SQL Server database and I believe the data source is fine because I can use it to make a connection without Teiid involved.
I'm trying to create a minimal working dynamic VDB before moving on to more complex requirements so I'm deploying this in a vdb.xml file:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<vdb name="MyVDB" version="1">
<description>A Dynamic VDB</description>
<model name="Sales">
<source name="mssql-connector" translator-name="sqlserver" connection-jndi-name="java:HomeSalesDS"/>
</model>
</vdb>
I see 2 problems in the app server log. First the VDB deploys (and stays) in an inactive state:
17:47:58,937 INFO [org.teiid.RUNTIME] VDB "MyVDB.1[Sales[mssql-connector/sqlserver/java:HomeSalesDS]]" deployed in inactive state.
Followed by an exception:
17:47:59,378 WARN [org.jboss.util.threadpool.RunnableTaskWrapper] Unhandled throwable for runnable: org.teiid.deployers.VDBDeployer$1@4d93ee
java.lang.AssertionError: Duplicate Table check_constraints
at org.teiid.metadata.Schema.addTable(Schema.java:43)
at org.teiid.metadata.MetadataFactory.addTable(MetadataFactory.java:82)
at org.teiid.translator.jdbc.JDBCMetdataProcessor.getTables(JDBCMetdataProcessor.java:195)
at org.teiid.translator.jdbc.JDBCMetdataProcessor.getConnectorMetadata(JDBCMetdataProcessor.java:110)
at org.teiid.translator.jdbc.JDBCExecutionFactory.getMetadata(JDBCExecutionFactory.java:268)
at org.teiid.translator.jdbc.JDBCExecutionFactory.getMetadata(JDBCExecutionFactory.java:80)
at org.teiid.dqp.internal.datamgr.ConnectorManager.getMetadata(ConnectorManager.java:128)
at org.teiid.deployers.VDBDeployer.loadMetadata(VDBDeployer.java:327)
at org.teiid.deployers.VDBDeployer.access$000(VDBDeployer.java:61)
at org.teiid.deployers.VDBDeployer$1.run(VDBDeployer.java:310)
at org.jboss.util.threadpool.RunnableTaskWrapper.run(RunnableTaskWrapper.java:147)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Can anyone tell me what I'm doing wrong?
Thanks,
Scott