Highlighted

AEM Forms 6.4 on SQL Server 2017

AndrewS1

12-07-2018

I'm trying to install AEM Forms 6.4 on Windows Server 2012 R2 using partial turn-key installation. If I use SQL Server 2012 as the database, installation succeeds, but it fails on SQL Server 2017, though neither one is officially supported (documentation says I need to use SQL Server 2016). What's even more interesting is that if I install to SQL 2012, then detach the DB and attach it to SQL 2017, then change DNS to point SQL Server's hostname to the SQL 2017 IP address, then AEM Forms happily works with the database running on SQL 2017. So the problem seems to only exist during the installation, or, rather, configuration.

The issue happens on the following step in the Configuration Manager:

Image2.png

Most (though not all) jars fail to deploy. JBoss log shows database errors.

If my understanding is correct, this step saves jar files to the database. So my question is - what is so different between SQL 2012 and SQL 2017 in terms of writing data from a Java application, that it succeeds on one but fails on the other? Note that when I get to this screen, all database tables have already been created successfully by the Configuration Manager. That step works fine on both SQL servers.

Is there anything I can do to make deployment succeed on SQL 2017? E.g. I tried to use the latest JDBC driver mssql-jdbc-6.2.4.jre8.jar (AEM Forms 6.4 comes with mssql-jdbc-6.2.2.jre8.jar), but that made no difference.

Thank you

Replies

Highlighted

DarrenBiz

15-07-2018

I have had issues with this step even using supported SQL Server database versions. Sometimes I have had to re-run CM multiple times to get the component Jars to deploy fully. Not sure I ever found a cure for it. There are some tweaks that you can try in the database connection string [1]

What I would be more concerned with is using an unsupported database version. While you might get it to work and install, It might be unknown what issues you will find further down the track that you wont get full support for.

The Forms team are always working on testing new versions of databases and application servers, so I would reach out to Support and see if they know of any tweaks to get 2017 working with Forms 6.4. Mayank Gandhi​ might be be able to chase this down for you

[1] Setting the Connection Properties | Microsoft Docs

Highlighted

kjaeggin

Employee

16-07-2018

This is the DB driver we support with 6.4:

Microsoft® SQL Server JDBC driver 6.2.1.0

sqljdbc6.jar

have you tried that one?

It's true that 6.4 currently only supports MS SQL 2016 as per this document at [1].

[1] Adobe Experience Manager Help | Supported Platforms for AEM Forms on JEE

I'll have to inquire within as to when MS SQL 2017 might be supported in an upcoming Service Pack or not.

Highlighted

Mayank_Gandhi

Employee

16-07-2018

Hi Andrew,

The product is tested with third-party products thoroughly before it is released out and mentioned under the support matrix. While product continues to add support for new and latest version of other software and products, also the support for older version may be removed(Maybe the other product is an end of life). Now the issue/query that you have is not related to only the installation part,  there is a lot more once the product has been installed. The product is tested with the version listed in the supportability matrix and we never suggest to go with unlisted versions. You never know what issue you might run into while running an unsupported software or product.

But we are here to help!. I will have to check support for 2017 internally and confirm you back on this.

Highlighted

AndrewS1

16-07-2018

kjaeggin​, Mayank Gandhi Thank you for you replies. I will really appreciate if you can find out about official SQL 2017 support.

I'm curious though why the product depends so much on the SQL version. Here are SQL supported version by AEM Forms version, according to Adobe Experience Manager Help | Supported Platforms for AEM Forms on JEE:

6.2: 2012, 2014

6.3: 2012, 2014, 2016

6.4: 2016

We've been using LiveCycle ES for many years, and I've seen how it uses the database (AEM Forms seems to be the same). It uses only tables and indexes, only string, integer and binary data types (no GUIDs, dates etc.). What I'm trying to say is that the product seems to be using only the DB engine's basic functionality, and I'm surprised that what I expect to be simple CRUD queries from Java application, is so sensitive to the SQL version. What specific feature of SQL engine does the product use that has changed in SQL 2017?

Thank you,

Andrew

Highlighted

DarrenBiz

16-07-2018

Same as Adobe, Microsoft drop official support for their products as time goes on so they have to be dropped from support by Adobe too. Adobe can't support a product that isn't supported by the vendor, even if it still works (although technically Adobe's support only extends to use of SQL Server with the AEM Forms use of the product).

There are always exceptions for support like I got support for an old version of Active Directory LDAP, when it was an AEM Forms issue. It does depend on the issue you are facing so its not always black and white when it comes to support, but is meant to be a general guide.

Microsoft also release new features and drivers for new SQL Server versions, so they need to be tested for compatibility before Adobe will support them. Even though it will most likely work, it still has to be tested and approved for official support and this takes time.

Highlighted

AndrewS1

25-07-2018

kjaeggin, Mayank Gandhi Any update regarding SQL 2017 support?

Also I have another question. I noticed that after I upgraded the database from LC ES 4 to AEM Forms 6.4, all new entries going to EDCAUDITENTITY table have sequencenumber column set to zero. Is that by design?

Highlighted

Mayank_Gandhi

Employee

26-07-2018

Hi Andrew,

I am awaiting confirmation on the SQL 2017 support and for the other question EdcAuditEntity stores auditing event information for the rights management system like user, document, policy events. The table existed in previous versions as well.

Highlighted

AndrewS1

26-07-2018

Hi Mayank Gandhi, thank you for your reply.

Regarding the EDCAUDITENTITY table, yes I know what it's for, we export audit events from this table to our product database. My question is specifically about sequencenumber column. LC ES 4 was writing incrementing integers to it, but after I migrated the DB to AEM Forms, all new records have zero. This does not impact our exporting logic, but I was concerned that maybe something went wrong during the database upgrade process from LC to AEM Forms, which might impact how the product works. Or is this by design and AEM Forms is not using this column anymore?