2013-12-03 2 views
1

Я очень новичок в Linux/Java/Scriptella и я пытаюсь в JDBC соединение с scriptella на Firebird локальной базе данных, но я получаю следующие ошибки:Scriptella: ResourceException с JayBird

2-dic-2013 1.03.34 <INFO> Execution Progress.Initializing properties: 1% 
2-dic-2013 1.03.34 <GRAVE> Script /home/maurizio/Scrivania/JATROPHA/applicazioni/prova_per_scriptella.etl execution failed. 
javax/resource/ResourceException 
2-dic-2013 1.03.34 <GRAVE> Scriptella bug report. Submit to issue tracker. 
Scriptella version: 1.1 
Exception: 
scriptella.execution.EtlExecutorException: javax/resource/ResourceException 
    at scriptella.execution.EtlExecutor.execute(EtlExecutor.java:190) 
    at scriptella.tools.launcher.EtlLauncher.execute(EtlLauncher.java:276) 
    at scriptella.tools.launcher.EtlLauncher.launch(EtlLauncher.java:193) 
    at scriptella.tools.launcher.EtlLauncher.main(EtlLauncher.java:321) 
Caused by: java.lang.NoClassDefFoundError: javax/resource/ResourceException 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:270) 
    at scriptella.core.DriverFactory.getDriver(DriverFactory.java:53) 
    at scriptella.core.ConnectionManager.<init>(ConnectionManager.java:70) 
    at scriptella.core.Session.<init>(Session.java:51) 
    at scriptella.execution.EtlExecutor.prepare(EtlExecutor.java:248) 
    at scriptella.execution.EtlExecutor.execute(EtlExecutor.java:178) 
    ... 3 more 
Caused by: java.lang.ClassNotFoundException: javax.resource.ResourceException 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:323) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:268) 
    ... 10 more 

Я использую Ubuntu 10.04 Lucid Lynx.

Я начинаю scriptella через консоль в каталоге/дома/Маурицио/Scrivania/Ятрофа/Applicazioni/с командой scriptella/scriptella-1,1/бен/scriptella.sh -debug "prova_per_scriptella.etl" Мой ETL файл prova_per_scriptella.etl содержит следующие строки:

<!DOCTYPE etl SYSTEM "http://scriptella.javaforge.com/dtd/etl.dtd"> 
<etl> 
    <description>Prova connessione Firebird</description> 
    <connection 
    id="fb_destination" 
    driver="org.firebirdsql.jdbc.FBDriver" 
    url="jdbc:firebirdsql:localhost/3050:/home/maurizio/Scrivania/JATROPHA/db/jatrofa.fdb" 
    user="user" 
    password="password" 
    classpath="/home/maurizio/Scrivania/JATROPHA/applicazioni/jaybird/Jaybird-2.2.3JDK_1.6/jaybird-2.2.3.jar" 
    /> 
</etl> 

окр вар $ _SCRIPTELLA_CP результатов пакетной команды scriptella/scriptella-1,1/бен/scriptella.sh в

:/home/maurizio/Scrivania/JATROPHA/applicazioni/scriptella/scriptella-1.1/lib/commons-jexl.jar: 
/home/maurizio/Scrivania/JATROPHA/applicazioni/scriptella/scriptella-1.1/lib/commons-logging.jar: 
/home/maurizio/Scrivania/JATROPHA/applicazioni/scriptella/scriptella-1.1/lib/jaybird-2.2.3.jar: 
/home/maurizio/Scrivania/JATROPHA/applicazioni/scriptella/scriptella-1.1/lib/jsqlparser-0.8.0.jar: 
/home/maurizio/Scrivania/JATROPHA/applicazioni/scriptella/scriptella-1.1/lib/scriptella-core.jar: 
/home/maurizio/Scrivania/JATROPHA/applicazioni/scriptella/scriptella-1.1/lib/scriptella-drivers.jar: 
/home/maurizio/Scrivania/JATROPHA/applicazioni/scriptella/scriptella-1.1/lib/scriptella-tools.jar: 
/home/maurizio/Scrivania/JATROPHA/applicazioni/scriptella/scriptella-1.1/lib/sqlsheet-6.5.jar 

Любая помощь будет очень высокую оценку. Спасибо заранее.

ответ

1

Ошибка означает, что вы, вероятно, пропустите дополнительные классы J2EE в пути к классам. Попробуйте загрузить мини-j2ee.jar из http://www.firebirdsql.org/en/jdbc-driver/ и добавить его в путь к классам атрибута в etl.xml:

classpath="/path/to/mini-j2ee.jar:/home/maurizio/Scrivania/JATROPHA/applicazioni/jaybird/Jaybird-2.2.3JDK_1.6/jaybird-2.2.3.jar" 
+0

Спасибо большое, теперь он работает ... Я нашел mini-j2ee.jar в Jaybird-2.1.6JDK_1.4.zip. Извлечен и вставлен в каталог lib scriptella. –

+0

Прошу прощения, чтобы позже принять. есть другой вопрос (надеюсь, не вне темы): есть ли какие-то инструменты для обнаружения пропавшей банки (или других библиотек)? Большое спасибо –

+0

'mini-j2ee.jar' устарел, см. [Jaybird 2.2 release] (http://www.firebirdsql.org/file/documentation/drivers_documentation/java/2.2.3/release_notes.html#__RefHeading__3644_1575618738) –

2

Вы отсутствует необходимый зависимость connector-api-1.5.jar, или вам нужно использовать jaybird-full-2.2.3.jar (который включает в себя как нормальный JayBird и разъем -api). См. releasenotes of Jaybird 2.2.3

+0

Спасибо: я изменю свой сценарий. –

+0

же проблема для меня с автономным использованием Jayway, кажется, что проект Maven отсутствует зависимость, так вот мой рабочий pom.xml экстракт, если это помогает: \t \t \t \t \t org.firebirdsql.jdbc \t \t \t Jaybird-jdk18 \t \t \t 2.2.11 \t \t \t \t \t \t \t javax.resource \t \t \t разъем-апи \t \t \t 1.5 \t \t pdem

+0

@pdem Эта зависимость входит в [Соек POM] (https://repo1.maven.org/maven2/org/firebirdsql/jdbc/jaybird-jdk18/2.2.11/jaybird-jdk18- 2.2.11.pom), поэтому я не уверен, почему он не работает для вас. –

Смежные вопросы