Toon posts:

JBoss met SQL Server [error creating table]

Pagina: 1
Acties:
  • 122 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Beste mensen,

De laatste tijd heb ik hier al de nodige topics gepost met meestal weinig tot geen reactie... waarschijnlijk doordat er op dit gebied nog maar weinig kennis is....
Mijn probleem is dat ik een test CMP (Entity Bean met Container Managed Persistence) probeer te maken en als database SQL Server probeer te koppelen aan JBoss. Hiervoor heb ik in JBoss_Home\server\default\conf een bestandje jboss.jcml aangemaakt, met hierin de volgende code:

JBoss.jcml
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<mbean code="org.jboss.jdbc.JdbcProvider" name="DefaultDomain:service=JdbcProvider">
        <attribute name="Drivers">com.microsoft.jdbc.sqlserver.SQLServerDriver</attribute>
</mbean>

<mbean code="org.jboss.jdbc.XADataSourceLoader" 
    name="DefaultDomain:service=XADataSource,name=DefaultDS">
        <attribute name="SqlServerPool"></attribute>
        
        <attribute name="DataSourceClass">org.jboss.pool.jdbc.xa.wrapper.XADataSourceImpl</attribute>
        <attribute name="Properties"></attribute>
        
        <attribute name="URL">jdbc:microsoft:sqlserver://localhost:1226;databasename=DefaultDS;SelectMethod=cursor
            </attribute>
        <attribute name="GCMinIdleTime">1200000</attribute>
        <attribute name="JDBCUser">sa</attribute>
        <attribute name="MaxSize">10</attribute>
        <attribute name="Password"> </attribute>
        <attribute name="GCEnabled">false</attribute>
        <attribute name="InvalidateOnError">false</attribute>
        <attribute name="TimestampUsed">false</attribute>
        
        <attribute name="Blocking">true</attribute>
        <attribute name="GCInterval">120000</attribute>
        <attribute name="Idle Timeout">1800000</attribute>
        <attribute name="Idle TimeoutEnabled">false</attribute>
        
        <attribute name="LoggingEnabled">false</attribute>
        <attribute name="MaxIdleTimeoutPercent">1.0</attribute>
        <attribute name="MinSize">0</attribute>
</mbean>


Wanneer ik mijn CMP probeer te deployen krijg ik onderstaande fout:
09:51:21,906 ERROR [URLDeploymentScanner] MBeanException: Exception in MBean operation '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=AddressBean,service=EJB
state: FAILED
I Depend On:
Depends On Me: org.jboss.deployment.DeploymentException: Error while creating table; - nested throwable: (java.sql.SQLException: Wrong data type: TEXT in statement [CREATE TABLE ADDRESS (name TEXT NOT NULL, phone TEXT, CONSTRAINT PK_ADDRESS PRIMARY KEY (name))])]
:?

JBoss doet het overigens verder wel goed in combinatie met Eclipse en een plugin (Lomboz van www.objectlearn.com). Zo heb ik al een Session Bean kunnen deployen en testen zonder problemen. Ik blijf dus kennelijk hangen op de database instellingen.
Hiervoor zou je ook nog bepaalde zaken moeten wijzigen in de ejb-generate.xml, die ziet er bij mij als volgt uit:

ejb-generate.xml
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<?xml version="1.0"?>

<project name="Test" default="ejbdoclet" basedir=".">

   <!-- Init -->
   <target name="init">

      <property name="bin.dir" value="../bin" />
      <property name="ejb.dd.dir" value="META-INF"/>
      <property name="web.dd.dir" value="WEB-INF"/>
      <property name="xdoclet.force" value="true"/>


      <property name="container.type" value="ejb-jar"/>
      
      <!-- Set up java.class.path -->
      <path id="project.class.path">
        <pathelement location="${bin.dir}" />


        <fileset dir="${eclipse.home}/plugins">
            <include name="**/ant.jar"/>
            <include name="**/log4j.jar"/>
            <include name="**/xdoclet/*.jar"/>
            <include name="**/jakarta/*.jar"/>
            <include name="**/xercesImpl.jar"/>
            <include name="**/xmlParserAPIs.jar"/>
        </fileset>

        <!-- append the external classpath lastly -->
        <pathelement path="${java.class.path}" />
        
        <!-- append the path sent through eclipse to classpath -->
        <pathelement path="${pcpath}" />
        
     </path>


   </target>

   <!-- Run EJBDoclet -->
   <target name="ejbdoclet" depends="init">

      <taskdef name="ejbdoclet" classname="xdoclet.ejb.EjbDocletTask">
        <classpath refid="project.class.path"/>
    </taskdef>

    <echo message="classpath : ${pcpath}" />
    <echo message="beans     : ${beans}" />

      <ejbdoclet
            destdir="${ejbsrc.dir}"
            mergedir="${ejb.dd.dir}"
            excludedtags="@version,@author,@todo"
            addedtags="@lomboz generated"
            ejbspec="2.0"
            force="${xdoclet.force}"
            verbose="true" >


       <fileset dir="../src" defaultexcludes="yes">
         <patternset includesfile="META-INF/ejbs.xml" />
       </fileset>

         <dataobject/>
         <valueobject/>
         <utilobject cacheHomes="true" includeGUID="true"/>
         
         <remoteinterface/>
         <localinterface/>
         <homeinterface />
         <localhomeinterface/>
         
         <entitypk/>
         <entitycmp/>
         <entitybmp/>
         <session/>

         <deploymentdescriptor 
            destdir="${ejb.dd.dir}" 
            validatexml="false"
            mergedir="${ejb.dd.dir}" 
            />

         <!--
         Have struts form objects generated based on entity beans'
         data objects.  Will require struts.jar to compile. -->
         <strutsform />


         <!--
         Have a mapping.xml file generated for castor classes.
         -->
         <castormapping destdir="${ejb.dd.dir}" validatexml="false" />
         <!-- -->
          
          <jboss
            version="3.0"
            unauthenticatedPrincipal="nobody"
            xmlencoding="UTF-8"
            destdir="${ejb.dd.dir}"
            validatexml="false"
            datasource="java:/DefaultDS"
            datasourcemapping="PostgreSQL"
          />
                   
      </ejbdoclet>
   </target>

   <!-- Create EJB-JAR file -->
   <target name="ejb-jar" depends="init">
      <delete file="${container}.jar" />
      <jar jarfile="${container}.jar">         
        <fileset dir="${bin.dir}">   
           <include name="**/*.*"/>
        </fileset>
        <fileset dir=".">   
           <include name="META-INF/**/*.*"/>
           <exclude name="META-INF/beans.xml"/>
           <exclude name="META-INF/build.xml"/>
           <exclude name="META-INF/build.properties"/>
           <exclude name="META-INF/ejbs.xml"/>
           <exclude name="META-INF/ejbGenerate.xml"/>
           <exclude name="META-INF/servers.xml"/>
        </fileset>
      </jar>
   </target>

   <target name="weblogic-ejb-jar" depends="ejb-jar">
      <java classname="weblogic.ejbc20" fork="true">
         <arg value="${container}.jar"/>
         <arg value="${container}Compiled.jar"/>
      </java>
   </target>

   <!-- Deploy to ... -->
   <target name="deploy" depends="ejb-jar">
      <copy todir="${deploy.dir}">
         <fileset dir="." includes="${container}.jar"/>
      </copy>
   </target>

</project>


:? Snapt iemand waardoor ik deze fout krijg? :?

edit:
BTW ik heb de bestanden van de jdbc connectie van de driver van SQL Server geplaatst in de map Jboss_Home\lib\ext. (de bestanden zijn: msbase.jar / mssqlserver.jar / msutil.jar)

[ Voor 19% gewijzigd door Verwijderd op 28-04-2003 10:12 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 10:39

Janoz

Moderator Devschuur®

!litemod

Waarschijnlijk wordt dit veroorzaakt doordat je een primary key probeert te leggen op een veld van type text.

Het lijkt me sowieso handiger om nog ff over bepaalde datatypen na te denken. Een telefoonnummer opsl;aan in een veld met type text lijkt me ook een beetje overkill. Een varchar zou in beide gevallen veel gunstiger zijn. Verder is het veel makkelijker om een integer key toe te veogen en deze primary te maken. Dit werkt veel sneller, ook moet joinen van verschillende tabellen. Voor het name veld kun je dan vervolgens alleen het unique constraint gebruiken.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Janoz dit is een test die ik doe aan de hand van een tutorial van www.objectlearn.com (CMP). Hierbij heb ik overigens ook bij het aanmaken van de CMP aangegeven dat het SQL type voor beide velden: "VARCHAR" moest zijn....
Ik heb verder geprobeerd om Integers te maken etc... maar ik blijf constant een error krijgen op het creeren van de tabel waarbij "wrong datatype" constant voorkomt....

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 10:39

Janoz

Moderator Devschuur®

!litemod

Die foutmelding heeft imho weinig met JBoss ansich te maken, maar alles met de DB. Deze fout is gewoon een sql fout. Probeer je queries eens los uit in een sql client en probeer ze daarin te debuggen en werkend te krijgen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Bedankt voor het meedenken, ik weet nu ook waarom hij de verkeerder SQL statements genereerde, namelijk doordat ik de datasourcemapping op SQLSERVER had staan in plaats van MS SQLSERVER!!!

Verwijderd

Topicstarter
Nieuwe probleem is dat ik de volgende error krijg:
Failed to register driver for: com.microsoft.jdbc.sqlserver.SQLServerDriver
Ik heb het bestand mssql-service.xml aangepast en in de map /server/default/deploy gezet en deze ziet er als volgt uit:

code:
1
2
3
4
5
6
7
8
9
10
11
<attribute name="JndiName">jdbc/Storingsmelder</attribute>

        <attribute name="ManagedConnectionFactoryProperties">
          <properties>
            <config-property name="ConnectionURL" type="java.lang.String">jdbc:microsoft:sqlserver://localhost:1226DatabaseName=niagaradb;Trusted_Connection=yes</config-property>
            <config-property name="DriverClass" type="java.lang.String">com.microsoft.jdbc.sqlserver.SQLServerDriver</config-property>
            <!--set these only if you want only default logins, not through JAAS-->
            <config-property name="UserName" type="java.lang.String">sa</config-property>
            <config-property name="Password" type="java.lang.String"></config-property>
          </properties>
        </attribute>
Ook heb ik de standardjbosscmp-jdbc.xml aangepast door datasource (java:jdbc/Storingsmelder) en datasource-mapping (MS SQLSERVER) op te geven.

Dit alles gaat goed, want hij geeft in Eclipse aan: [jdbc/Storingsmelder] Bound connection factory for resource adapter 'JBoss LocalTransaction JDBC Wrapper' to JNDI name 'java:/jdbc/Storingsmelder'. Lijkt me prima.
Ik heb de jboss.jcml file overigens ook weer aangepast, na wat onderzoek naar de verschillende instellingen, deze ziet er als volgt uit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<mbean code="org.jboss.jdbc.JdbcProvider" name="DefaultDomain:service=JdbcProvider">
         <attribute name="Drivers">com.microsoft.jdbc.sqlserver.SQLServerDriver</attribute>
</mbean>

<mbean code="org.jboss.jdbc.XADataSourceLoader" name="DefaultDomain:service=XADataSource,name=Storingsmelder">
        <attribute name="DataSourceClass">org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl</attribute>
        <attribute name="PoolName">java:jdbc/Storingsmelder</attribute>
        <attribute name="URL">jdbc:microsoft:sqlserver://localhost:1226;SelectMethod=cursor</attribute>
        <attribute name="Properties">DatabaseName=niagaradb</attribute>
        <attribute name="JDBCUser">admin</attribute>
        <attribute name="Password">admin</attribute>
        <attribute name="LoggingEnabled">false</attribute>
</mbean>
Weet iemand of mijn JDBC driver misschien corrupt is?? Of is dit voor iemand een bekende fout?? HELP!! Want ik loop nogal tegen een muur aan |:(

Verwijderd

Is dat de gehele foutmelding die je krijgt? Heb je geen stacktrace of meerdere foutneldingen vanuit JBoss?

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
10:43:42,078 INFO  [URLDeploymentScanner] Started
10:43:42,078 INFO  [MainDeployer] Deployed package: file:/D:/Program Files/jboss-3.0.7/server/default/conf/jboss-service.xml
10:43:42,093 INFO  [Server] JBoss (MX MicroKernel) [3.0.7 (CVSTag=JBoss_3_0_7 Date=200304081816)] Started in 0m:36s:859ms
10:43:57,421 INFO  [MainDeployer] Undeploying file:/D:/Program Files/jboss-3.0.7/server/default/deploy/SmsBeans.jar
10:43:57,453 INFO  [EjbModule] Destroying
10:43:57,562 INFO  [EjbModule] Remove JSR-77 EJB Module: jboss.management.single:J2EEApplication= ,J2EEServer=Single,j2eeType=EJBModule,name=SmsBeans.jar
10:43:57,562 INFO  [EjbModule] Destroyed
10:43:57,562 WARN  [DeploymentInfo] Could not delete directory file:/D:/Program Files/jboss-3.0.7/server/default/tmp/deploy/server/default/deploy/SmsBeans.jar/27.SmsBeans.jar restart will delete it
10:43:57,562 INFO  [MainDeployer] Undeployed file:/D:/Program Files/jboss-3.0.7/server/default/deploy/SmsBeans.jar
10:44:02,578 INFO  [MainDeployer] Starting deployment of package: file:/D:/Program Files/jboss-3.0.7/server/default/deploy/SmsBeans.jar
10:44:02,984 INFO  [EjbModule] Creating
10:44:03,171 INFO  [EjbModule] Deploying User
10:44:03,421 INFO  [EjbModule] Created
10:44:03,421 INFO  [EjbModule] Starting
10:44:03,968 WARN  [ServiceController] Problem starting service jboss.j2ee:jndiName=UserBean,service=EJB
org.jboss.deployment.DeploymentException: Error while fixing table name; - nested throwable: (org.jboss.util.NestedSQLException: 
Failed to register driver for: com.microsoft.jdbc.sqlserver.SQLServerDriver; - nested throwable: (java.lang.ClassNotFoundException: 
com.microsoft.jdbc.sqlserver.SQLServerDriver); - nested throwable: (org.jboss.resource.JBossResourceException: Failed to register driver for: 
com.microsoft.jdbc.sqlserver.SQLServerDriver; - nested throwable: (java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver)))
    at org.jboss.ejb.plugins.cmp.jdbc.SQLUtil.fixTableName(SQLUtil.java:67)
    at org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCEntityBridge.<init>(JDBCEntityBridge.java:103)
    at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.initStoreManager(JDBCStoreManager.java:397)
    at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.start(JDBCStoreManager.java:339)
    at org.jboss.ejb.plugins.CMPPersistenceManager.start(CMPPersistenceManager.java:198)
    at org.jboss.ejb.EntityContainer.start(EntityContainer.java:376)
    at org.jboss.ejb.Container.invoke(Container.java:782)
    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(ServiceController.java:1003)
    at $Proxy4.start(Unknown Source)
    at org.jboss.system.ServiceController.start(ServiceController.java:413)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
    at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
    at $Proxy29.start(Unknown Source)
    at org.jboss.ejb.EjbModule.startService(EjbModule.java:404)
    at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:165)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
    at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:1003)
    at $Proxy4.start(Unknown Source)
    at org.jboss.system.ServiceController.start(ServiceController.java:413)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.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:814)
    at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:627)
    at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:591)
    at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
    at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
    at $Proxy3.deploy(Unknown Source)
    at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:435)
    at org.jboss.deployment.scanner.URLDeploymentScanner.scanDirectory(URLDeploymentScanner.java:656)
    at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:507)
    at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:217)
    at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:230)
    at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:207)
Caused by: org.jboss.util.NestedSQLException: Failed to register driver for: 
com.microsoft.jdbc.sqlserver.SQLServerDriver; - nested throwable: 
(java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver); - nested throwable: 
(org.jboss.resource.JBossResourceException: Failed to register driver for: 
com.microsoft.jdbc.sqlserver.SQLServerDriver; - nested throwable: (java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver))
    at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:106)
    at org.jboss.ejb.plugins.cmp.jdbc.SQLUtil.fixTableName(SQLUtil.java:38)
    ... 53 more
Caused by: org.jboss.resource.JBossResourceException: Failed to register driver for: com.microsoft.jdbc.sqlserver.SQLServerDriver; - nested throwable: (java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver)
    at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.checkDriver(LocalManagedConnectionFactory.java:286)
    at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:147)
    at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnection(InternalManagedConnectionPool.java:359)
    at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:150)
    at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:335)
    at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:467)
    at org.jboss.resource.connectionmanager.LocalTxConnectionManager.getManagedConnection(LocalTxConnectionManager.java:221)
    at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:532)
    at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:828)
    at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:102)
    ... 54 more
Caused by: java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:198)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
    at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.checkDriver(LocalManagedConnectionFactory.java:266)
    ... 63 more
10:44:03,984 INFO  [EjbModule] Started
10:44:03,984 INFO  [MainDeployer] Deployed package: file:/D:/Program Files/jboss-3.0.7/server/default/deploy/SmsBeans.jar
10:44:04,015 ERROR [URLDeploymentScanner] MBeanException: Exception in MBean operation '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=UserBean,service=EJB
 state: FAILED
 I Depend On: 
 Depends On Me: org.jboss.deployment.DeploymentException: 
Error while fixing table name; - nested throwable: (org.jboss.util.NestedSQLException: Failed to register driver for: 
com.microsoft.jdbc.sqlserver.SQLServerDriver; - nested throwable: (java.lang.ClassNotFoundException: 
com.microsoft.jdbc.sqlserver.SQLServerDriver); - nested throwable: 
(org.jboss.resource.JBossResourceException: Failed to register driver for: 
com.microsoft.jdbc.sqlserver.SQLServerDriver; - nested throwable: (java.lang.ClassNotFoundException: 
com.microsoft.jdbc.sqlserver.SQLServerDriver)))]

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
"java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver" lijkt me de kern van de zaak :) .

Waarschijnlijk heb je de JDBC driver voor MS SQL Server niet in je classpath staan. In de Eclipse setting is dit wel zo en daarom functioneert het daar wel.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Hmm.. zo te zien is het gewoon een ClassNotFoundException. Heb je de jar file met de driver in je lib dir van je jboss server staan?

Verwijderd

Topicstarter
ik neem aan dat dit in de run.bat van JBoss moet?? Ik heb daar nu het volgende staan:

code:
1
2
3
set CLASSPATH=D:\Program Files\jboss-3.0.7\lib\ext\msutil.jar;D:\Program Files\jboss-3.0.7
\lib\ext\mssqlserver.jar;D:\Program Files\jboss-3.0.7
\lib\ext\msbase.jar;com.microsoft.jdbc.sqlserver.SQLServerDriver


klopt dat?

Verwijderd

Topicstarter
ik heb de bestanden nu in lib gezet en classpath aangepast en com.microsoft.jdbc.sqlserver.SQLServerDriver er weer uit gehaald... maar ik krijg nog steeds dezelfde fout! :?

[ Voor 16% gewijzigd door Verwijderd op 29-04-2003 11:43 ]


Verwijderd

Topicstarter
Ik heb nu ook in user-service.xml het volgende opgenomen:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!-- ===================================================================== -->
<!--                                                                       -->
<!--  User Service Configuration                                           -->
<!--                                                                       -->
<!-- ===================================================================== -->

<server>

  <!-- Specify required library jars as needed.
  <classpath codebase="D:\Program Files\jboss-3.0.7\lib" archives="mssqlserver.jar, msutil.jar, msbase.jar"/>

  -->

  <!--
     | Add custom MBeans here.  MBeans should be registered under the
     | 'user' JMX domain, or a domain specific to the component application.
     |
     | Do not place user components in the 'jboss' domain or any sub-domain.
   -->
 
  <!-- Example Service Configuration  

  <mbean code="my.company.MyService" 
         name="user:service=MyService">
    <attribute name="MyAttribute">AttributeValue</attribute>
  </mbean>
  
  -->
   
</server>

Ik krijg nog steeds dezelfde fout en ik kan me nu echt gewoon niet meer bedenken waarom het fout gaat...

Verwijderd

Zet ze in de specifieke jboss server directory die je gebruikt.

bijv. C:\java\programs\jboss-3.0.4\server\default\lib als je niks speciaal doet tijdens het opstarten en gewoon run.bat uitvoert.
Pagina: 1