0

Здравствуй я пытаюсь создать свой сч базы данных перед испытаниями, но его не в состоянии:/ это мой сценарий:arquillian создать схему базы данных перед испытанием

CREATE TABLE OFCONVERSATION 
(
    CONVERSATIONID integer NOT NULL, 
    ROOM character varying(1024), 
    ISEXTERNAL smallint NOT NULL, 
    STARTDATE bigint NOT NULL, 
    LASTACTIVITY bigint NOT NULL, 
    MESSAGECOUNT integer NOT NULL, 
    CONSTRAINT OFCONVERSATION_PK PRIMARY KEY (CONVERSATIONID) 
); 

и его работа, когда я пытаюсь запустить этот скрипт, используя Squirell и встроенное дерби.

  1. первый я попробовать использовать аннотацию @CreateSchema ("скрипты/import.sql") перед испытанием класса:
  2. рядом пытаются с помощью @ApplyScriptBefore
  3. второй я пытаюсь использовать сценарий:

имя свойство = "scriptsToExecuteBeforeTest" скрипты/import.sql недвижимость

, но его все не удается ...

Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 9.816 sec <<< FAILURE! 
getPairChat(com.test.ejb.im.service.impl.PairChatTest) Time elapsed: 0.451 sec <<< ERROR! 
org.jboss.arquillian.persistence.dbunit.exception.DBUnitDataSetHandlingException: Unable to execute statement: CREATE TABLE OFCONVERSATION 
(
CONVERSATIONID integer NOT NULL, 
ROOM character varying(1024), 
ISEXTERNAL smallint NOT NULL, 
STARTDATE bigint NOT NULL, 
LASTACTIVITY bigint NOT NULL, 
MESSAGECOUNT integer NOT NULL, 
CONSTRAINT OFCONVERSATION_PK PRIMARY KEY (CONVERSATIONID) 
); 
    at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) 
    at org.apache.derby.impl.sql.compile.ParserImpl.parseStatement(Unknown Source) 
    at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source) 
    at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source) 
    at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(Unknown Source) 
    at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source) 
    at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source 

это мой arquillian импорт ПОМ:

<dependency> 
     <groupId>org.glassfish.main.extras</groupId> 
     <artifactId>glassfish-embedded-all</artifactId> 
     <version>${glassfish-embedded-all.version}</version> 
     <type>jar</type> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.jboss.arquillian.junit</groupId> 
     <artifactId>arquillian-junit-container</artifactId> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.jboss.arquillian.container</groupId> 
     <artifactId>arquillian-glassfish-embedded-3.1</artifactId> 
     <version>1.0.0.CR3</version> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.jboss.arquillian.extension</groupId> 
     <artifactId>arquillian-persistence-impl</artifactId> 
     <version>1.0.0.Alpha6</version> 
     <scope>test</scope> 
    </dependency> 

и мой тест-persistence.xml:

<persistence-unit name="test-ejb" transaction-type="JTA"> 
    <jta-data-source>test-ds</jta-data-source> 
    <exclude-unlisted-classes>false</exclude-unlisted-classes>  
    <properties> 
     <property name="eclipselink.target-database" value="DERBY"/> 
     <property name="eclipselink.platform.class.name" value="org.eclipse.persistence.platform.database.DerbyPlatform"/> 
     <!-- <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/> --> 
     <property name="eclipselink.logging.level" value="ALL"/> 
     <property name="eclipselink.jpa.uppercase-column-names" value="true" /> 
    </properties> 
    </persistence-unit> 

и GlassFish-resources.xml :

<resources> 
    <jdbc-connection-pool name="test-pool" 
     res-type="javax.sql.DataSource" datasource-classname="org.apache.derby.jdbc.EmbeddedDataSource" 
     ping="true"> 
     <property name="ConnectionAttributes" value="create=true" /> 
     <property name="DatabaseName" value="./target/derbydb" /> 
     <property name="Password" value="" /> 
     <property name="User" value="" /> 
    </jdbc-connection-pool> 
    <jdbc-resource jndi-name="test-ds" pool-name="test-pool" /> 
</resources> 

Так что же не так wi th, что sql-скрипты или мой конфиг?

+0

Я думаю, что это может быть вопрос для анализа кода: http://codereview.stackexchange.com/ –

ответ

0

Если вы (или что-то подобное, как вы используете Derby):

Caused by: java.sql.SQLException: ORA-00911: invalid character 

далее вниз в вашем трассировки стека, то вы, возможно, наткнулся на broken feature in Alpha6.

0

Это поможет вам, как я снял специальные символы (возврат каретки, линия подачи ...)

CREATE TABLE OFCONVERSATION( CONVERSATIONID integer NOT NULL, ROOM character varying(1024), ISEXTERNAL smallint NOT NULL, STARTDATE bigint NOT NULL, LASTACTIVITY bigint NOT NULL, MESSAGECOUNT integer NOT NULL, CONSTRAINT OFCONVERSATION_PK PRIMARY KEY (CONVERSATIONID)) 
+0

используйте этот скрипт с помощью @CreateSchema ("scripts/import.sql") – Max

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

  • Нет связанных вопросов^_^