Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0017073Openbravo ERPA. Platformpublic2011-05-09 15:082011-05-16 16:22
adrianromero 
adrianromero 
normalmajorhave not tried
closedfixed 
5
pi 
3.0RC73.0RC7 
Core
No
0017073: Can't import products: No Dialect mapping for JDBC type
This happens on version 3.0.1 of initial data load

The validation of the products import fails:

Exception in component tJavaRow_18
org.hibernate.MappingException: No Dialect mapping for JDBC type: -9
    at org.hibernate.dialect.TypeNames.get(TypeNames.java:77)
    at org.hibernate.dialect.TypeNames.get(TypeNames.java:100)
    at org.hibernate.dialect.Dialect.getHibernateTypeName(Dialect.java:375)
    at org.hibernate.loader.custom.CustomLoader$Metadata.getHibernateType(CustomLoader.java:590)
    at org.hibernate.loader.custom.CustomLoader$ScalarResultColumnProcessor.performDiscovery(CustomLoader.java:516)
    at org.hibernate.loader.custom.CustomLoader.autoDiscoverTypes(CustomLoader.java:532)
    at org.hibernate.loader.Loader.getResultSet(Loader.java:1962)
    at org.hibernate.loader.Loader.doQuery(Loader.java:802)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
    at org.hibernate.loader.Loader.doList(Loader.java:2533)
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276)
    at org.hibernate.loader.Loader.list(Loader.java:2271)
    at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:316)
    at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1842)
    at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:165)
    at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:157)
    at org.openbravo.idl.proc.ReferenceList.getReferenceList(ReferenceList.java:74)
    at org.openbravo.idl.proc.ReferenceList.getReferenceListByName(ReferenceList.java:50)
    at org.openbravo.idl.proc.IdlService.getReferenceValue(IdlService.java:370)
    at org.openbravo.idl.initial_data_load.productjob_0_1.ProductJob.tFileInputDelimited_1Process(ProductJob.java:7213)
    at org.openbravo.idl.initial_data_load.productjob_0_1.ProductJob.runJobInTOS(ProductJob.java:7716)
    at org.openbravo.idl.initial_data_load.productjob_0_1.ProductJob.runJob(ProductJob.java:7613)
    at org.openbravo.idl.proc.ProductsProcess.runJob(ProductsProcess.java:50)
    at org.openbravo.idl.proc.IdlServiceETL.executeImport(IdlServiceETL.java:20)
    at org.openbravo.idl.proc.IdlService.executeProcess(IdlService.java:88)
    at org.openbravo.idl.form.IDL_import.doPost(IDL_import.java:103)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at org.openbravo.base.HttpBaseServlet.serviceInitialized(HttpBaseServlet.java:225)
    at org.openbravo.base.secureApp.HttpSecureAppServlet.service(HttpSecureAppServlet.java:456)
    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.openbravo.utils.SessionExpirationFilter.doFilter(SessionExpirationFilter.java:66)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.openbravo.utils.CharsetFilter.doFilter(CharsetFilter.java:35)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.openbravo.dal.core.DalRequestFilter$1.doAction(DalRequestFilter.java:81)
    at org.openbravo.dal.core.ThreadHandler.run(ThreadHandler.java:46)
    at org.openbravo.dal.core.DalRequestFilter.doFilter(DalRequestFilter.java:103)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    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:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:427)
    at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:384)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
    at java.lang.Thread.run(Thread.java:619)
Go to master data management > Initial Data Load > Process > Import
Select the attached cvs
Select Product as entity
Click validate
No tags attached.
depends on backport 00170742.50MP30 closed adrianromero Openbravo ERP Can't import products: No Dialect mapping for JDBC type 
has duplicate defect 0017058 closed adrianromero Modules Can't import products: No Dialect mapping for JDBC type 
Issue History
2011-05-09 15:08adrianromeroNew Issue
2011-05-09 15:08adrianromeroAssigned To => adrianromero
2011-05-09 15:08adrianromeroModules => Core
2011-05-09 15:09adrianromeroRelationship addedhas duplicate 0017058
2011-05-09 15:10adrianromeroNote Added: 0036569
2011-05-09 15:10adrianromeroStatusnew => scheduled
2011-05-09 15:10adrianromerofix_in_branch => pi
2011-05-09 17:08adrianromeroNote Added: 0036575
2011-05-09 17:09adrianromeroNote Added: 0036576
2011-05-09 17:09adrianromeroStatusscheduled => resolved
2011-05-09 17:09adrianromeroFixed in SCM revision => http://code.openbravo.com/erp/devel/pi/rev/c3b8fa166f261455cf37f71030aa066e2db03805 [^]
2011-05-09 17:09adrianromeroResolutionopen => fixed
2011-05-09 19:36adrianromeroNote Added: 0036585
2011-05-16 16:22ioritzCiaStatusresolved => closed
2011-05-16 16:22ioritzCiaFixed in Version => 3.0RC7

Notes
(0036569)
adrianromero   
2011-05-09 15:10   
This problem is raised problably because it is needed a new mapping in the Oracle Dialog class:


diff --git a/src/org/openbravo/base/session/OBOracle10gDialect.java b/src/org/openbravo/base/session/OBOracle10gDialect.java
--- a/src/org/openbravo/base/session/OBOracle10gDialect.java
+++ b/src/org/openbravo/base/session/OBOracle10gDialect.java
@@ -40,6 +40,7 @@
     super();
 
     registerHibernateType(Types.NUMERIC, StandardBasicTypes.LONG.getName());
+ registerHibernateType(Types.NVARCHAR, StandardBasicTypes.STRING.getName());
 
     registerColumnType(Types.VARCHAR, 4000, "nvarchar2($l)");
     registerColumnType(Types.VARCHAR, 100, "varchar2($l)");
(0036575)
adrianromero   
2011-05-09 17:08   
Repository: erp/devel/pi
Changeset: cd6e4afe4afc85a55b8574056d5f00a9b061be2b
Author: Adrián Romero <adrianromero <at> openbravo.com>
Date: Mon May 09 13:54:37 2011 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/cd6e4afe4afc85a55b8574056d5f00a9b061be2b [^] [^]

Test case for issue 17058 Can't import products: No Dialect mapping for JDBC type

---
M src-test/org/openbravo/test/dal/IssuesTest.java
---
(0036576)
adrianromero   
2011-05-09 17:09   
Repository: erp/devel/pi
Changeset: c3b8fa166f261455cf37f71030aa066e2db03805
Author: Adrián Romero <adrianromero <at> openbravo.com>
Date: Mon May 09 13:57:27 2011 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/c3b8fa166f261455cf37f71030aa066e2db03805 [^] [^]

Fixes issue 17058 Can't import products: No Dialect mapping for JDBC type
A new mapping has been added for NVARCHAR for the Oracle dialog

---
M src/org/openbravo/base/session/OBOracle10gDialect.java
---
(0036585)
adrianromero   
2011-05-09 19:36   
*Testing the issue

In Oracle, kindly follow the steps to test and verify that no error is thrown.

It can also been tested with the new JUnit test of the note.

* Other areas affected

This fix affects Hibernate native SQL queries with NVARCHAR and NCHAR fields in Oracle. It is supposed that this change fixes all these queries.