cancel
Showing results for 
Search instead for 
Did you mean: 

NWDS: SQLJTranslator IllegalStateException

Former Member
0 Kudos

Hi,

I use NWDS Version: 7.0.10 (Build id: 200610212349).

When I try to create a SQLJ Source Ctx.sqlj with the following code

package com.sap.examples.persistence.sqlj;
#sql public context Ctx with (dataSource = "java:comp/env/PERSISTENCE_EXAMPLE");

NWDS reports me "An error occurred while traversing resources." after running the SQLJ-Translator (rebuilding the project). The corresponding Java class doesn't get created.

When I look into the workspace log I see the following stack trace

!MESSAGE An error occurred while traversing resources.
!STACK 0
java.lang.IllegalStateException: caught SQLException: no catalog reader can be constructed from the path: 
	at com.sap.sql.sqlj.framework.ide.Options.setCatalogReader(Options.java:132)
	at com.sap.dictionary.tools.sqlj.translator.SQLJTranslator.setOptions(SQLJTranslator.java:255)
	at com.sap.dictionary.tools.sqlj.translator.SQLJTranslator.translate(SQLJTranslator.java:124)
	at com.sap.dictionary.tools.sqlj.translator.Translator.translateResource(Translator.java:61)
	at com.sap.dictionary.tools.sqlj.translator.Translator.access$000(Translator.java:30)
	at com.sap.dictionary.tools.sqlj.translator.Translator$ResourceVisitor.visit(Translator.java:43)
	at org.eclipse.core.internal.resources.Resource$2.visit(Resource.java:106)
	at org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:50)
	at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:76)
	at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:80)
	at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:80)
	at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:119)
	at org.eclipse.core.internal.resources.Resource.accept(Resource.java:60)
	at org.eclipse.core.internal.resources.Resource.accept(Resource.java:104)
	at org.eclipse.core.internal.resources.Resource.accept(Resource.java:82)
	at com.sap.dictionary.tools.sqlj.translator.Translator.fullBild(Translator.java:114)
	at com.sap.dictionary.tools.sqlj.translator.Translator.build(Translator.java:85)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:427)
	at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1006)
	at org.eclipse.core.runtime.Platform.run(Platform.java:413)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:125)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:181)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:191)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:151)
	at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1006)
	at org.eclipse.core.runtime.Platform.run(Platform.java:413)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:165)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:265)
	at org.eclipse.core.internal.resources.Project.build(Project.java:85)
	at org.eclipse.ui.actions.BuildAction.invokeOperation(BuildAction.java:156)
	at org.eclipse.ui.actions.WorkspaceAction.execute(WorkspaceAction.java:122)
	at org.eclipse.ui.actions.WorkspaceAction$1.execute(WorkspaceAction.java:279)
	at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:71)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1595)
	at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:85)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:101)

I guess this is either a configuration issue or a problem with the NWDS version. Did anybody run into the same problem or have a solution to the problem?

Thanks & Regards,

Fabian

Edited by: Fabian Kraemer on Apr 16, 2008 3:57 PM

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Found the solution, didn't reference the dictionary inside the SQLJ project. Didn't expect it to be necessary for compilation of a context class.