Can database extension access a type of db different from platform database

 Can database extension access a type of db different from platform database

  

I have an enterprise environment on AWS configured for .Net/SQLServer. 

I have an AWS RDS MySQL instance I have registered in my database connections.

I have created an extension module and pulled the schema from the MySQL database.

The database extension is set up for .Net only (noth both platforms).

It compiles and saves. However, on the publish step it fails with with this message:

This Extension database type (MySQL) is not compatible with the current Platform Database type (SqlServer).

My base application is based on .Net/SQLServer. My client has data in MySQL I want to query - is it possible to make this work? BTW, I not worried about cross database joins as I don't need them.


strange, imho that should work?

did you follow: https://success.outsystems.com/Documentation/10/Extensibility_and_Integration/Connect_to_an_External_Database ?


and is the mysql version 

  • MySQL 5.6 (5.6.5 or later within the 5.6 version, all editions).


J. wrote:

strange, imho that should work?

did you follow: https://success.outsystems.com/Documentation/10/Extensibility_and_Integration/Connect_to_an_External_Database ?

Sure. The database schema is there, the module compiles and saves. FWIW, I have used database extensions before (in a homo db scenario) without difficulty. I was as surprised as you seem to be.

And yes, the MySQL db is at 5.6


To make sure the basics are working as expected (this is a new enterprise cloud account so its best to take nothing for granted) I did the following test:

Created an AWS RDS MSSQL instance and added a few simple tables in a schema.

Registered that external database in OutSystems.

Built an OutSystem Extension (MSSQL server only) and imported the entities for that new scema.

Published the extension. - Worked like a charm.

So - I can build a database extension module and use it when the database type matches the platform database type.

This doesn't solve my problem of course (I need to connect to a MySQL database from my .Net/MSSQL OutSystems platfrom) but at least it demonstrates the usual process works in this new enterprise cloud account.

Solution

So, got an answer from OutSystems support:

That error is displayed when you try to publish an extension that is configured within a MySQL DBMS in a server that was installed using SQL Server (even if there is a connection defined in the server to a MySQL database).

Can you try to change the DBMS setting on the extension to "(All)"?This should enable you to publish it to any server because what matters is theconnection that the Extensions uses.

That did work!

Solution