2011-01-04 5 views
1

Ich versuche, Informix-Datenbank mit einem Play zu verwenden! Framework-Anwendung. Ich bin neu bei Informix.Informix XA-Treiber im Spiel! Framework-Anwendung

Ich habe Informix 11.70 auf meinem Windows-Rechner installiert und ich spiele Play 1.1.

Im Spiel! Sie können Ihre Db-Verbindungen wie folgt angeben:

db.url=jdbc:informix-sqli://localhost:9088/mydatabase:INFORMIXSERVER=ol_informix1170 
db.driver=com.informix.jdbc.IfxDriver 
db.user=informix 
db.pass=password 

Ich bekomme eine Ausnahme jedoch bei der Ausführung meines Spiels! App:

An unexpected error occured caused by exception PersistenceException: org.hibernate.TransactionException: JDBC begin failed: 

play.exceptions.UnexpectedException: Unexpected Error 
     at play.Invoker$Invocation.onException(Invoker.java:153) 
     at play.Invoker$Invocation.run(Invoker.java:195) 
     at Invocation.HTTP Request(Play!) 
Caused by: javax.persistence.PersistenceException: org.hibernate.TransactionException: JDBC begin failed: 
     at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1235) 
     at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1168) 
     at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:1245) 
     at org.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:63) 
     at play.db.jpa.JPAPlugin.startTx(JPAPlugin.java:321) 
     at play.db.jpa.JPAPlugin.beforeInvocation(JPAPlugin.java:289) 
     at play.Invoker$Invocation.before(Invoker.java:116) 
     at play.Invoker$Invocation.run(Invoker.java:186) 
     ... 1 more 
Caused by: org.hibernate.TransactionException: JDBC begin failed: 
     at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:96) 
     at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1463) 
     at org.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:60) 
     ... 5 more 
Caused by: java.sql.SQLException: Transactions not supported 
     at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:413) 
     at com.informix.jdbc.IfxSqliConnect.setAutoCommit(IfxSqliConnect.java:2189) 
     at com.mchange.v2.c3p0.impl.NewProxyConnection.setAutoCommit(NewProxyConnection.java:881) 
     at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:91) 
     ... 7 more 

Ich denke, weil ich innerhalb einer Transaktion meine Abfrage auszuführen bin versucht, aber ich habe einen XA-Treiber nicht angegeben. Nur com.informix.jdbc.IfxDriver. Ich kann jedoch nicht den XA-Treiber für Informix finden.

Wie kann ich mein Play konfigurieren? Anwendung zur Verwendung von Informix?

dank

Antwort

3

Das Problem ist, dass Sie nicht richtig Informix konfiguriert haben. Ihre Datenbank ist nicht für die Transaktionsprotokollierung konfiguriert und unterstützt daher keine Transaktionen. Nicht wirklich ein Hibernate noch Play! Problem. So erstellen Sie Ihre Tabelle mit so etwas wie:

CREATE DATABASE mydatabase WITH LOG; 

http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.ddi.doc/ddi73.htm

+0

dank Partenon, dass das Problem war. – Ross