Bugs item #673409, was opened at 2003-01-23 22:23
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=673409&group_id=22866

Category: JBossCMP
Group: v3.0 Rabbit Hole
>Status: Closed
>Resolution: Invalid
Priority: 5
Submitted By: nash (kanagawa)
Assigned to: Nobody/Anonymous (nobody)
Summary: Table existence test fails during deployment w/MS SQLSERVER

Initial Comment:
Beans deploy correctly and can be created in the MS SQL
datasource, but when a bean is altered and the jar
re-deployed jboss doesn't detect the existing table and
horks up the error below... 

OS: Windows XP
JDK: 1.4.0_03


17:09:54,028 DEBUG [ChoiceEntity] Initializing CMP
plugin for ChoiceEntity
17:09:54,038 DEBUG [QuestionEntity] Entity Exists SQL:
SELECT COUNT(*) FROM QuestionEntity WHERE Id=?
17:09:54,048 DEBUG [QuestionEntity] Insert Entity SQL:
INSERT INTO QuestionEntity (Id, Text) VALUES (?, ?)
17:09:54,058 DEBUG [QuestionEntity] Remove SQL: DELETE
FROM QuestionEntity WHERE Id=?
17:09:54,078 DEBUG [QuestionEntity] Executing SQL:
CREATE TABLE QuestionEntity (Id INTEGER NOT NULL, Text
INTEGER NOT NULL, CONSTRAINT pk_QuestionEntity PRIMARY
KEY (Id))
17:09:54,178 DEBUG [QuestionEntity] Could not create
table QuestionEntity
17:09:54,198 WARN  [ServiceController] Problem starting
service
jboss.j2ee:jndiName=ejb/c1dbtest1/ChoiceEntity,service=EJB
org.jboss.deployment.DeploymentException: Error while
creating table; - nested throwable:
(java.sql.SQLException: [Microsoft][SQLServer 2000
Driver for JDBC][SQLServer]There is already an object
named 'QuestionEntity' in the database.)
        at
org.jboss.ejb.plugins.cmp.jdbc.JDBCStartCommand.createTable(JDBCStart
Command.java:175)
        at
org.jboss.ejb.plugins.cmp.jdbc.JDBCStartCommand.execute(JDBCStartComm
and.java:84)
        at
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.startStoreManager(JDB
CStoreManager.java:457)
        at
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.start(JDBCStoreManage
r.java:369)
        at
org.jboss.ejb.plugins.CMPPersistenceManager.start(CMPPersistenceManag
er.java:198)
        at
org.jboss.ejb.EntityContainer.start(EntityContainer.java:376)
        at
org.jboss.ejb.Container.invoke(Container.java:756)
        at
org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:1058)
        at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
        at
org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceControl
ler.java:978)
        at $Proxy5.start(Unknown Source)
        at
org.jboss.system.ServiceController.start(ServiceController.java:398)
        at
sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBea
nDispatcher.java:284)
        at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
        at
org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
        at $Proxy31.start(Unknown Source)
        at
org.jboss.ejb.EjbModule.startService(EjbModule.java:430)
        at
org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:1
65)
        at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBea
nDispatcher.java:284)
        at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
        at
org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceControl
ler.java:978)
        at $Proxy5.start(Unknown Source)
        at
org.jboss.system.ServiceController.start(ServiceController.java:398)
        at
sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBea
nDispatcher.java:284)
        at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
        at
org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
        at $Proxy11.start(Unknown Source)
        at
org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:395)
        at
org.jboss.deployment.MainDeployer.start(MainDeployer.java:807)
        at
org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:621)
        at
org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:585)
        at
sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBea
nDispatcher.java:284)
        at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
        at
org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
        at $Proxy4.deploy(Unknown Source)
        at
org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymen
tScanner.java:435)
        at
org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentS
canner.java:561)
        at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.
doScan(AbstractDeploymentScanner.java:212)
        at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.
loop(AbstractDeploymentScanner.java:225)
        at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.
run(AbstractDeploymentScanner.java:202)
Caused by: java.sql.SQLException: [Microsoft][SQLServer
2000 Driver for JDBC][SQ
LServer]There is already an object named
'QuestionEntity' in the database.
        at
com.microsoft.jdbc.base.BaseExceptions.createException(Unknown
Source
)
        at
com.microsoft.jdbc.base.BaseExceptions.getException(Unknown
Source)
        at
com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown
 Source)
        at
com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown
 Source)
        at
com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(
Unknown Source)
        at
com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown
Sour
ce)
        at
com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType
(Unknown Source)
        at
com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown
 Source)
        at
com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown
Source)

        at
com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown
Source)
        at
com.microsoft.jdbc.base.BaseStatement.executeUpdateInternal(Unknown
S
ource)
        at
com.microsoft.jdbc.base.BaseStatement.executeUpdate(Unknown
Source)
        at
org.jboss.resource.adapter.jdbc.local.LocalStatement.executeUpdate(Lo
calStatement.java:231)
        at
org.jboss.ejb.plugins.cmp.jdbc.JDBCStartCommand.createTable(JDBCStart
Command.java:166)
        ... 52 more
17:09:54,899 INFO  [EjbModule] Started
17:09:54,899 INFO  [MainDeployer] Deployed package:
file:/D:/Apps/JavaToolbox/jb
oss-3.0.4/server/capone-test/deploy/ejb-test.jar
17:09:54,919 ERROR [URLDeploymentScanner]
MBeanException: Exception in MBean ope
ration 'checkIncompleteDeployments()'
Cause: Incomplete Deployment listing:
Packages waiting for a deployer:
  <none>
Incompletely deployed packages:
  <none>
MBeans waiting for classes:
  <none>
MBeans waiting for other MBeans:
[ObjectName:
jboss.j2ee:jndiName=ejb/c1dbtest1/ChoiceEntity,service=EJB
 state: FAILED
 I Depend On:
 Depends On Me:
org.jboss.deployment.DeploymentException: Error while
creating t
able; - nested throwable: (java.sql.SQLException:
[Microsoft][SQLServer 2000 Dri
ver for JDBC][SQLServer]There is already an object
named 'QuestionEntity' in the
 database.)]

----------------------------------------------------------------------

>Comment By: nash (kanagawa)
Date: 2003-01-24 21:16

Message:
Logged In: YES 
user_id=695670


*sigh*

Turns out the problem was with the Microsoft JDBC drivers,
after all. Apparently, the JDBC driver couldn't return valid
results from getTables() if the database name contained some
dashes (-), which mine did. I removed the dashes and all was
right.

----------------------------------------------------------------------

Comment By: nash (kanagawa)
Date: 2003-01-24 19:03

Message:
Logged In: YES 
user_id=695670

Alright, I've been hacking in the jboss source to see if I
can isolate the problem ... it looks like the issue is with
the interaction between my Microsoft JDBC driver for SQL
Server 2000 and the JDBCStartCommand class. This code
doesn't return a ResultSet with any rows (rs.next() == 0),
even when the table exists in the database:

 rs = dmd.getTables(con.getCatalog(), null, tableName, null);

Perhaps the JDBC driver isn't fully J2EE compatible. Imagine
that.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=673409&group_id=22866


-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to