2013-12-04 5 views
0

Мой второй вопрос: я очень новичок в Linux/Java/Scriptella, и я пытаюсь подключиться jdbc с scriptella в локальном файле xls, но Я получаю следующие ошибки:Scriptella - Невозможно создать экземпляр драйвера для класса scriptella.driver.xls.Driver

4-dic-2013 0.41.46 <GRAVE> Script /home/maurizio/Scrivania/JATROPHA/applicazioni/prova_per_scriptella.etl execution failed. 
Unable to instantiate driver for class scriptella.driver.xls.Driver 
JDBC provider exception: Couldn't find appropriate jdbc driver : net.pcal.sqlsheet.XlsDriver. Please check class path settings 
Error codes: [] 
4-dic-2013 0.41.46 <GRAVE> Scriptella bug report. Submit to issue tracker. 
Scriptella version: 1.1 
Exception: 
scriptella.execution.EtlExecutorException: Unable to instantiate driver for class scriptella.driver.xls.Driver 
JDBC provider exception: Couldn't find appropriate jdbc driver : net.pcal.sqlsheet.XlsDriver. Please check class path settings 
Error codes: [] 
    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.IllegalStateException: Unable to instantiate driver for class scriptella.driver.xls.Driver 
    at scriptella.core.DriverFactory.getDriver(DriverFactory.java:98) 
    at scriptella.core.DriverFactory.getDriver(DriverFactory.java:58) 
    at scriptella.driver.auto.Driver.getConnection(Driver.java:96) 
    at scriptella.driver.auto.Driver.connect(Driver.java:77) 
    at scriptella.core.ConnectionManager.getConnection(ConnectionManager.java:81) 
    at scriptella.core.Session.<init>(Session.java:57) 
    at scriptella.execution.EtlExecutor.prepare(EtlExecutor.java:248) 
    at scriptella.execution.EtlExecutor.execute(EtlExecutor.java:178) 
    ... 3 more 
Caused by: scriptella.jdbc.JdbcException: Couldn't find appropriate jdbc driver : net.pcal.sqlsheet.XlsDriver. Please check class path settings 
    at scriptella.jdbc.GenericDriver.loadDrivers(GenericDriver.java:87) 
    at scriptella.driver.xls.Driver.<init>(Driver.java:33) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:534) 
    at java.lang.Class.newInstance(Class.java:374) 
    at scriptella.core.DriverFactory.getDriver(DriverFactory.java:96) 
    ... 10 more 
Caused by: java.lang.NoClassDefFoundError: org/apache/poi/xssf/usermodel/XSSFWorkbook 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:190) 
    at scriptella.jdbc.GenericDriver.loadDrivers(GenericDriver.java:67) 
    ... 17 more 
Caused by: java.lang.ClassNotFoundException: org.apache.poi.xssf.usermodel.XSSFWorkbook 
    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) 
    ... 20 more 

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

Я начинаю scriptella через консоль в каталоге/дома/Маурицио/Scrivania/Ятрофа/Applicazioni/с командой scriptella/scriptella-1.1/bin/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 e XLS</description> 
    <connection 
    id="fb_destination" 
    driver="org.firebirdsql.jdbc.FBDriver" 
    url="jdbc:firebirdsql:localhost/3050:jatropha" 
    user="SYSDBA" 
    password="jatro201" 
    classpath="/home/maurizio/Scrivania/JATROPHA/applicazioni/jaybird/Jaybird-2.2.3JDK_1.6/jaybird-2.2.3.jar" 
    /> 
    <connection 
    id="xls_source" 
    url="jdbc:xls:file:prova_per_scriptella.xls" 
    classpath="/home/maurizio/Scrivania/JATROPHA/applicazioni/scriptella/scriptella-1.1/lib/sqlsheet-6.5.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/mini-j2ee.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 

Мой scriptella Lib каталог содержит следующие файлы:

commons-jexl.jar 
commons-logging.jar 
jaybird-2.2.3.jar 
jsqlparser-0.8.0.jar 
mini-j2ee.jar 
scriptella-core.jar 
scriptella-drivers.jar 
scriptella-tools.jar 
sqlsheet-6.5.jar 

Любая помощь будет очень признательна. Заранее спасибо.

ответ

0

Об этом было задано некоторое время назад, но я думал, что могу ответить на все так же, как у меня была такая же проблема.

Ключ к ответу находится в конце трассировки стека Caused by: java.lang.ClassNotFoundException: org.apache.poi.xssf.usermodel.XSSFWorkbook.

Это можно исправить, включив в него все библиотеки, включенные в последние версии poi, найденные here.

0

У меня также были проблемы с тем, чтобы это работало. Вместо того, чтобы загружать последнюю версию, как было предложено otty, кажется, что лучше подумать о файле pom.xml для файла net.pcal.sqlsheet.XlsDriver (это то, что пытается создать экземпляр scriptella.driver.xls.Driver. мы используем правильные зависимости.

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