Import failing on 'name already used'

Questions and Answers on installation, deployment, management, locking, tranasactions of Servoy Application Server

Import failing on 'name already used'

Postby john.allen » Tue Jun 19, 2012 8:15 pm

I or someone else frequently make changes to the back end production database in Oracle. Sometimes these changes are made in Developer sometimes with 'outside' tools. In either case though they are always confirmed and resolved in the developer solution (5.2). When importing an updated solution to the server Servoy will sometimes choke the first time with a statement that the object already exists in the database. However when I re-import the solution it invariably succeeds the second time through. Today I got that same message a number of times but I kept on trying the import because I remembered that there were 4 new columns added plus one table. However after about 4 attempted imports I got a new message posted below and I now get this continually. What is the best way out of this and how do changes need to be made to the production database in order to avoid this in the future? Changes will be made to the production database outside of Servoy and I'm just not sure how to always incorporate those changes in Developer and then importing to the server...
com.servoy.j2db.persistence.RepositoryException: java.sql.SQLException: ORA-00955: name is already used by an existing object
at com.servoy.j2db.server.Ze.Zeb.Za(Zeb.java:118)
at com.servoy.j2db.server.Ze.Zeb.importFromJarFile(Zeb.java:557)
at com.servoy.j2db.server.servlets.ConfigServlet.Zj(ConfigServlet.java:3445)
at com.servoy.j2db.server.servlets.ConfigServlet.service(ConfigServlet.java:789)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.sql.SQLException: ORA-00955: name is already used by an existing object
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:74)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:110)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:171)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1030)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:183)
at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:936)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222)
at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1770)
at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1739)
at oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:298)
at sun.reflect.GeneratedMethodAccessor874.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.servoy.j2db.Za.Za.Zf.invoke(Zf.java:9)
at $Proxy13.execute(Unknown Source)
at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
at com.servoy.j2db.server.Zc.Zo.createMissingDBSequences(Zo.java:1430)
at com.servoy.j2db.server.Ze.Zk.importDatabaseInfo(Zk.java:73)
at com.servoy.j2db.server.Ze.Zeb.Za(Zeb.java:63)
... 17 more
John Allen
Stanford University
john.allen
 
Posts: 515
Joined: Wed Jul 02, 2003 10:07 pm
Location: Stanford CA USA

Re: Import failing on 'name already used'

Postby ROCLASI » Tue Jun 19, 2012 9:30 pm

Hi John,

When you make changes to the database that the Servoy Server is using then in order for Servoy server to see the changes you need to restart it.
After this you can import the new solution and it won't try to create the already existing columns/tables.

Hope this helps.
Robert Ivens
SAN Developer / Servoy Valued Professional / Servoy Certified Developer

ROCLASI Software Solutions / JBS Group, Partner
Mastodon: @roclasi
--
ServoyForge - Building Open Source Software.
PostgreSQL - The world's most advanced open source database.
User avatar
ROCLASI
Servoy Expert
 
Posts: 5438
Joined: Thu Oct 02, 2003 9:49 am
Location: Netherlands/Belgium

Re: Import failing on 'name already used'

Postby john.allen » Tue Jun 19, 2012 9:41 pm

That's great! Thanks so much. Never knew that restarting the server did that.

John
John Allen
Stanford University
john.allen
 
Posts: 515
Joined: Wed Jul 02, 2003 10:07 pm
Location: Stanford CA USA


Return to Servoy Server

Who is online

Users browsing this forum: No registered users and 5 guests

cron