Problem with Double and BigDecimal property created in Hana from Hybris - sap-commerce-cloud

We noticed that every BigDecimal and Double properties created in Hybris, are created in Hana as decimal(30,8). When we try to save the value 0 to these properties in Hybris, they are saved in Hana as "-0.00000256", See attached Image:
Is there some work around for this issue?

I would check the jdbc driver version being used is supported for the HANA revision, this issue can be caused by unsupported client being used.

Related

How do you set certain spring.datasource properties in broadleaf

We are using the 5.2 version of broadleaf with spring-boot (using the tomcat connection pool) and mysql.
If there is no activity for a while, for example over night, it looses the connection and can't reestablish it. I have been reading about it and was aiming the use spring.datasource.tomcat.test-on-borrow and spring.datasource.validation-query properties but they don't seem to stick.
We have set up our other database properties in common-shared.properties like:
database.user=...
database.password=...
database.driver=com.mysql.jdbc.Driver
database.url=jdbc:mysql://localhost:3306/broadleaf?useUnicode=true&characterEncoding=utf8
What is the correct way to handle this problem with broadleaf?
Sorry about that; the Broadleaf database properties are not related to those specific properties but rather the ones that you have there as database.user ... etc from the DatabaseStarter project. Setting spring.datasource.tomcat.test-on-borrow and spring.datasource.validation-query.
However, it looks like you are hitting the exact same issue that I resolved in this PR in DatabaseStarter (like for MySQL that you are using) and this PR in HSQLDatabaseStarter (which is the default you get). So, as long as you are using the latest GAs of Broadleaf (specifically at least 5.2.1-GA) you should be good to go.

JDCB error using xPages Extension Library JDBC Query

I'm trying to set up s prototype for accessing Oracle data in an xPage using the JDBC Query in the Extension Library. I'm getting the following errors:
Error while reading the relational data Error while loading connection
cos11p Error loading JDBC driver class
com.oracle.jdbc.driver_1.0.0.20141104-1319. If running the server,
check that an OSGi plugin wrapper for the corresponding JDBC driver is
available on the server, or that the corresponding package is
available in the WEB-INF/lib directory. If running the studio, check
that the corresponding package is available in your client library.
java.sql.SQLException: Cannot create JDBC driver
com.oracle.jdbc.driver_1.0.0.20141104-1319 Cannot create JDBC driver
com.oracle.jdbc.driver_1.0.0.20141104-1319
java.lang.ClassNotFoundException: Cannot find class
com.oracle.jdbc.driver_1.0.0.20141104-1319 in NSF Cannot find class
com.oracle.jdbc.driver_1.0.0.20141104-1319 in NSF
com.oracle.jdbc.driver_1.0.0.20141104-1319
Here is what I have done so far to set this up:
1. Installed latest version of extension library on the server
2. Installed JDBC driver on the server using the Open NTF wizard
3. created cos11p.jdbc connection file located in WebContent\WEB-INF\JDBC
<jdbc>
<driver>com.oracle.jdbc.driver_1.0.0.20141104-1319</driver>
<url>jdbc:oracle:thin:#//sodb2p.malt-o-meal.com:1521/cos11p</url>
<user>username</user>
<password>password</password>
</jdbc>
Created xpage with view panel using JDBC Query pointing to jdcb connection
Xpage application properties have relational and extlib libraries checked
That "JDBC driver class" from the error looks wrong. I believe it should be "oracle.jdbc.OracleDriver". In the JDBC driver plugin wizard, the "class" field should use that String I've quoted, which references a class within the JDBC driver you've downloaded (not the filename of the driver itself). It's a key part of getting the generated OSGi plugin to work correctly.
And in the JDBC file, you would then use the same class name in the "driver" parameter. I don't think there should be a date stamp in that parameter at all
Did you check that the OSGi driver was loaded properly? Try
tell http osgi ss oracle
to check

Is there any way to migrate the built-in usergrid db

I've been running usergrid-stack commit 08f26cc865c96185d11990bf622730beff59971a for a while using the built-in cassandra db.
I need to migrate to another server and thought I'd take the chance to update.
I tried copying the folder standalone/target/tmp to the new installation but doing so gives me the error below.
null; Can't construct a java object for tag:yaml.org,2002:org.apache.cassandra.config.Config; exception=Cannot create property=hinted_handoff_throttle_delay_in_ms for JavaBean=org.apache.cassandra.config.Config#6b7b9f29; Unable to find property 'hinted_handoff_throttle_delay_in_ms' on class: org.apache.cassandra.config.Config
Invalid yaml; unable to start server. See log for stacktrace.
Is there any way to migrate the db to a newer version?
If not, is there at least a way to migrate the db using the old version?
iirc hinted_handoff_throttle_delay_in_ms is a setting from Cassandra 1.1 which was removed in Cassandra 1.2 so you might need to edit the conf file (cassandra.yaml) and remove this setting.

Entity Framework 5 / Firebird / Code first database creation

I am trying to use Entity Framework 5, code first, to create a database using the Firebird provider, but I get the following error:
Model compatibility cannot be checked because the database does not contain model metadata. Model compatibility can only be checked for databases created using Code First or Code First Migrations.
Does Firebird not support the creation of the database using a code first model?

Subsonic adding a DB provider for Simple Repository

I was wondering--what part of Subsonic 3 needs to be modified to support a different database under a Simple Repository scenario? I haven't found any documentation on this point. Subsonic 3 seems to be all about the T4 templates but when I check out the Subsonic project sources I don't see any T4 templates in there...so where/how do I add support for another database?
Thanks,
Alex
no part of SubSonic needs to be modified for SimpleRepo - just change your connection string and be sure to change the provider (part of the connection string) as well. So, the default connection might be:
connectionString="server=localhost;database=northwind;user id=bob;password=*****" provider="System.Data.SqlClient"
Change that to be the connection string you want, and the provider to your DB provider. MySQL would be something like "MySql.Data.MySqlClient" and SQLite would "System.Data.SQLite" (I think).
SubSonic will do the rest.

Resources