{"id":3540,"date":"2016-04-19T23:22:56","date_gmt":"2016-04-19T21:22:56","guid":{"rendered":"http:\/\/www.dontesta.it\/blog\/?p=3540"},"modified":"2019-10-08T23:21:02","modified_gmt":"2019-10-08T21:21:02","slug":"liferay-7-ce-how-to-add-support-for-sql-server-db","status":"publish","type":"post","link":"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/","title":{"rendered":"Liferay 7 CE: How to add support for SQL Server DB"},"content":{"rendered":"<p>Those who follow Liferay is aware of the fact that the Community Edition version 7 of Liferay, were eliminated quite a bit of components App Server, Database &amp; Clustering Support. For more detail information you can read the blog post by <a href=\"https:\/\/www.liferay.com\/it\/web\/bryan.cheung\/blog\/-\/blogs\/liferay-portal-7-ce-app-server-database-clustering-support\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"broken_link\">Bryan Cheung<\/a>\u00a0published on April 7, 2016.<\/p>\n<ul>\n<li>The Liferay 7 CE GA1 no more support OOTB (Out Of The Box):<\/li>\n<li>Application Server: Oracle WebLogic, IBM WebSphere<\/li>\n<li>Clustering<\/li>\n<li>MultiVM Cache<\/li>\n<li>Oracle Database, Microsoft SQL Server, IBM DB2, Sybase DB<\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><strong><a href=\"https:\/\/github.com\/amusarra\/liferay-portal-sqlserverdb-support\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"broken_link\">The project Liferay Portal SQL Server Support demonstrates how to add support to the Microsoft SQL Server database<\/a><\/strong>. Liferay has performed refactoring the code so that it is possible and easy to add support for databases no longer supported OOTB.<\/p>\n<p style=\"text-align: justify;\"><strong>Attention update<\/strong>: The driver works with the release GA1, GA2, GA3 and GA4 of the Liferay 7 CE.<\/p>\n<div class='tm-tweet-clear'><\/div>\n<div class='tm-click-to-tweet'>\n<div class='tm-ctt-text'><a href='https:\/\/twitter.com\/share?text=%23Liferay+7.x+Community+Edition%3A+How+to+add+support+for+%23Microsoft+%23SQLServer+Database&via=antonio_musarra&related=antonio_musarra&url=https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/' target='_blank'>#Liferay 7.x Community Edition: How to add support for #Microsoft #SQLServer Database<\/a><\/div>\n<p><a href='https:\/\/twitter.com\/share?text=%23Liferay+7.x+Community+Edition%3A+How+to+add+support+for+%23Microsoft+%23SQLServer+Database&via=antonio_musarra&related=antonio_musarra&url=https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/' target='_blank' class='tm-ctt-btn'>Click To Tweet<\/a><\/p>\n<div class='tm-ctt-tip'><\/div>\n<\/div>\n<p style=\"text-align: justify;\">This <a href=\"https:\/\/github.com\/amusarra\/liferay-portal-sqlserverdb-support\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"broken_link\">amusarra\/liferay-portal-sqlserverdb-support<\/a> repository has been archived, it is now read-only. Refer to this repository <a href=\"https:\/\/github.com\/amusarra\/liferay-portal-database-all-in-one-support\" target=\"_blank\" rel=\"noopener noreferrer\">liferay-portal-database-all-in-one-support<\/a>.<\/p>\n<p>I suggest you read these two recent articles about SQL Server and Liferay:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.dontesta.it\/2019\/10\/06\/how-to-build-a-docker-liferay-7-2-image-with-the-sql-server-2017-database-support\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to build a Docker Liferay 7.2 image with the SQL Server 2017 Database support<\/a><\/li>\n<li><a href=\"https:\/\/www.dontesta.it\/2019\/10\/03\/how-to-setup-docker-container-sql-server-2017-for-liferay-development-environment\/\" target=\"_blank\" rel=\"noopener noreferrer\">How to setup Docker container SQL Server 2017 for Liferay Development Environment<\/a><\/li>\n<\/ul>\n<p><a href=\"https:\/\/paypal.me\/AntonioMusarra\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-3778 size-medium aligncenter\" title=\"Make a donation to Antonio Musarra - PayPal.Me\" src=\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2017\/04\/PayPalMeAntonioMusarra-300x54.png\" alt=\"Make a donation to Antonio Musarra - PayPal.Me\" width=\"300\" height=\"54\" srcset=\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2017\/04\/PayPalMeAntonioMusarra-300x54.png 300w, https:\/\/www.dontesta.it\/wp-content\/uploads\/2017\/04\/PayPalMeAntonioMusarra.png 423w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h2>1. Introduction<\/h2>\n<p style=\"text-align: justify;\">To extend support to other databases, Liferay has decided to refactoring code to use Java <strong><a href=\"https:\/\/docs.oracle.com\/javase\/tutorial\/sound\/SPI-intro.html\" target=\"_blank\" rel=\"noopener noreferrer\">SPI<\/a> (Service Provider Interface)<\/strong>. SPI is the mechanism that allows you to extend\/change the behavior within a system without changing the source. It includes interfaces, classes or methods that the user extends or implements in order to obtain a certain functionality.<\/p>\n<p>In short we must:<\/p>\n<ul>\n<li>Implement the SPI interface <a href=\"https:\/\/github.com\/liferay\/liferay-portal\/blob\/2960360870ae69360861a720136e082a06c5548f\/portal-kernel\/src\/com\/liferay\/portal\/kernel\/dao\/db\/DBFactory.java\" target=\"_blank\" rel=\"noopener noreferrer\">com.liferay.portal.kernel.dao.db.DBFactory<\/a>. Implementation class inside this project is <a href=\"https:\/\/github.com\/amusarra\/liferay-portal-sqlserverdb-support\/blob\/master\/src\/main\/java\/it\/dontesta\/labs\/liferay\/portal\/dao\/db\/SQLServerDBFactory.java\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"broken_link\">SQLServerDBFactory.java<\/a><\/li>\n<li>Implement the abstract class <a href=\"https:\/\/github.com\/liferay\/liferay-portal\/blob\/master\/portal-impl\/src\/com\/liferay\/portal\/dao\/db\/BaseDB.java\" target=\"_blank\" rel=\"noopener noreferrer\">com.liferay.portal.dao.db.BaseDB<\/a>\u00a0for SQL Server DB. Implementation class inside this project is <a href=\"https:\/\/github.com\/amusarra\/liferay-portal-sqlserverdb-support\/blob\/master\/src\/main\/java\/it\/dontesta\/labs\/liferay\/portal\/dao\/db\/SQLServerDB.java\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"broken_link\">SQLServerDB.java<\/a><\/li>\n<\/ul>\n<p>The following code shows how service providers are loaded via SPI.<\/p>\n<pre class=\"lang:java decode:true \">public DBManagerImpl() {\r\n  ServiceLoader serviceLoader = ServiceLoader.load(\r\n  DBFactory.class, DBManagerImpl.class.getClassLoader());\r\n\r\n  for (DBFactory dbFactory : serviceLoader) {\r\n    _dbFactories.put(dbFactory.getDBType(), dbFactory);\r\n  }\r\n}\r\n<\/pre>\n<p style=\"text-align: justify;\">To register your service provider, you create a provider configuration file, which is stored in the <strong>META-INF\/services<\/strong>\u00a0directory of the service provider's JAR file. The name of the configuration file is the fully qualified class name of the service provider, in which each component of the name is separated by a period (.), and nested classes are separated by a dollar sign ($).<\/p>\n<p style=\"text-align: justify;\">The provider configuration file contains the <em>fully qualified class names<\/em> (<strong>FQDN<\/strong>) of your service providers, one name per line. The file must be UTF-8 encoded. Additionally, you can include comments in the file by beginning the comment line with the number sign (#).<\/p>\n<p>Our file is called <a href=\"https:\/\/github.com\/amusarra\/liferay-portal-sqlserverdb-support\/blob\/master\/src\/main\/resources\/META-INF\/services\/com.liferay.portal.kernel.dao.db.DBFactory\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"broken_link\">com.liferay.portal.kernel.dao.db.DBFactory<\/a> and contain the FQDN of the class <a href=\"https:\/\/github.com\/amusarra\/liferay-portal-sqlserverdb-support\/blob\/master\/src\/main\/java\/it\/dontesta\/labs\/liferay\/portal\/dao\/db\/SQLServerDBFactory.java\" class=\"broken_link\">it.dontesta.labs.liferay.portal.dao.db.SQLServerDBFactory<\/a><\/p>\n<p>In the figure below shows the complete class diagram for SQLServerDB.<\/p>\n<div id=\"attachment_3539\" style=\"width: 616px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.dontesta.it\/wp-content\/uploads\/2014\/02\/SQLServerDB.png\" rel=\"attachment wp-att-3522\"><img aria-describedby=\"caption-attachment-3539\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-3539 size-full\" title=\"Figure 1 - Class Diagram for add support Oracle DB\" src=\"http:\/\/www.dontesta.it\/wp-content\/uploads\/2014\/02\/SQLServerDB.png\" alt=\"Class Diagram for SQLServerDB\" width=\"606\" height=\"390\" srcset=\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2014\/02\/SQLServerDB.png 606w, https:\/\/www.dontesta.it\/wp-content\/uploads\/2014\/02\/SQLServerDB-300x193.png 300w\" sizes=\"auto, (max-width: 606px) 100vw, 606px\" \/><\/a><p id=\"caption-attachment-3539\" class=\"wp-caption-text\">Class Diagram for SQLServerDB<\/p><\/div>\n<p>&nbsp;<\/p>\n<h2>2. Build project<\/h2>\n<p>Requirements for build project<\/p>\n<ol>\n<li>Sun\/Oracle JDK 1.7<\/li>\n<li>Maven 3.x (for build project) or Gradle 2.x<\/li>\n<\/ol>\n<p>The driver that adds support for Oracle database is a jar <strong>liferay-portal-sqlserverdb-support-${version}.jar<\/strong> which then will be installed in $LIFERAY_HOME\/$TOMCAT_HOME\/webapps\/ROOT\/WEB-INF\/lib (for apache tomcat).\u00a0You can download the binary jar <a href=\"https:\/\/github.com\/amusarra\/liferay-portal-sqlserverdb-support\/releases\/download\/v1.0\/liferay-portal-sqlserverdb-support-1.0-SNAPSHOT.jar\" class=\"broken_link\">liferay-portal-sqlserverdb-support-1.0-SNAPSHOT.jar<\/a>, by doing so you can avoid doing the build.<\/p>\n<p>To generate the driver for Oracle database just follow the instructions below.<\/p>\n<pre class=\"lang:sh decode:true \" title=\"Clone and build driver from source\">$ git clone https:\/\/github.com\/amusarra\/liferay-portal-sqlserverdb-support.git\r\n$ cd liferay-portal-sqlserverdb-support\r\n$ mvn package<\/pre>\n<p>the build process create the jar liferay-portal-sqlserverdb-support-1.0-SNAPSHOT.jar\u00a0inside the (maven) target directory.\u00a0If you have a Gradle build system, then you can build jar by the following command<\/p>\n<pre class=\"lang:sh decode:true\" title=\"Clone and build driver from source via Gradle\">$ git clone https:\/\/github.com\/amusarra\/liferay-portal-sqlserverdb-support.git\r\n$ cd liferay-portal-sqlserverdb-support\r\n$ gradle build<\/pre>\n<p>the build process create the jar inside the <strong>build\/libs<\/strong> directory.<\/p>\n<p>&nbsp;<\/p>\n<h2>3. Install Liferay CE 7 on SQL Server\u00a0Database<\/h2>\n<p style=\"text-align: justify;\"><span style=\"line-height: 1.5;\">To install Liferay on SQLServer you must have previously configured a schema for Liferay on an SQLServer instance (including SQLServer Express Edition).<\/span><\/p>\n<p>I have used an SQLServer Express 2014 installation on Windows 8.1 created on the fly on VirtualBox.<\/p>\n<p>The parameters of my SQLServer instance are:<\/p>\n<ul>\n<li>Username: liferayce7<\/li>\n<li>Password: liferay12345<\/li>\n<li>DB Name: liferayce7<\/li>\n<li>FQDN: sqlserverdb.vm.local (IP: 192.168.56.101)<\/li>\n<li>TCP\/IP Port:\u00a01433<\/li>\n<li>Instance ID: SQLEXPRESS<\/li>\n<\/ul>\n<p>For the installation of Liferay follow the following steps (ref to <a href=\"https:\/\/dev.liferay.com\/discover\/deployment\/-\/knowledge_base\/7-0\/installing-a-liferay-bundle\" class=\"broken_link\">install Liferay bundle<\/a> on Liferay Developer Network):<\/p>\n<ol>\n<li>Download <a href=\"https:\/\/sourceforge.net\/projects\/lportal\/files\/Liferay%20Portal\/7.0.0%20GA1\/liferay-portal-tomcat-7.0-ce-ga1-20160331161017956.zip\/download\" target=\"_blank\" rel=\"noopener noreferrer\">Liferay CE 7 GA1 Tomcat Bundle<\/a>\u00a0from sourceforge.net<\/li>\n<li>Extract the Liferay bundle (in my case $LIFERAY_HOME is \/opt\/liferay-portal-7.0-ce-ga1-node-1)<\/li>\n<li>Copy the jar <strong>liferay-portal-sqlserverdb-support-${version}.jar<\/strong> in $LIFERAY_HOME\/$TOMCAT_HOME\/webapps\/ROOT\/WEB-INF\/lib<\/li>\n<li>Download and install <a href=\"https:\/\/msdn.microsoft.com\/it-it\/library\/mt683464.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft JDBC driver per SQLServer<\/a>\u00a0(v. 4.x)\u00a0in $LIFERAY_HOME\/$TOMCAT_HOME\/lib\/ext (You may also use the <a href=\"http:\/\/jtds.sourceforge.net\/\">JDBC driver jTDS<\/a>\u00a0but not support SQL Server 2014)<\/li>\n<li>Create the <strong>portal-ext.properties<\/strong> in $LIFERAY_HOME with the content as the file below. <em><strong>You should modify the JDBC connection parameters to the your db and the value of liferay.home<\/strong><\/em><\/li>\n<li>Launch the Liferay Portal through the command $LIFERAY_HOME\/$TOMCAT_HOME\/bin\/startup.sh<\/li>\n<li>See the Liferay activities via the log file $LIFERAY_HOME\/$TOMCAT_HOME\/logs\/catalina.out<\/li>\n<\/ol>\n<p>Below you can see the portal-ext.properties<\/p>\n<pre class=\"lang:sh decode:true\" title=\"Liferay portal-ext.properties\">##\r\n## Admin Portlet\r\n##\r\n#\r\n# Configure email notification settings.\r\n#\r\nadmin.email.from.name=Joe Bloggs\r\nadmin.email.from.address=test@liferay.com\r\n\r\n##\r\n## JDBC\r\n##\r\n\r\n#\r\n# Oracle\r\n#\r\njdbc.default.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver\r\njdbc.default.username=liferay\r\njdbc.default.password=liferay12345\r\njdbc.default.url=jdbc:sqlserver:\/\/sqlserverdb.vm.local;databaseName=liferayce7\r\n##\r\n## Liferay Home\r\n##\r\n#\r\n# Specify the Liferay home directory.\r\n#\r\nliferay.home=\/opt\/liferay-portal-7.0-ce-ga1-node-1\r\n\r\n##\r\n## Setup Wizard\r\n##\r\n#\r\n# Set this property to true if the Setup Wizard should be displayed the\r\n# first time the portal is started.\r\n#\r\nsetup.wizard.enabled=false<\/pre>\n<p>You can see the my complete catalina.out log file and following some screenshots of DB.<\/p>\n<div id=\"attachment_3537\" style=\"width: 730px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.dontesta.it\/wp-content\/uploads\/2014\/02\/Liferay7CEOnSQLServerDB.png\" rel=\"attachment wp-att-3524\"><img aria-describedby=\"caption-attachment-3537\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-3537 size-large\" title=\"Figure 2 - Liferay 7 CE GA1 on Oracle Database\" src=\"http:\/\/www.dontesta.it\/wp-content\/uploads\/2014\/02\/Liferay7CEOnSQLServerDB-1024x813.png\" alt=\"Liferay 7 CE on SQL Server DB\" width=\"720\" height=\"572\" srcset=\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2014\/02\/Liferay7CEOnSQLServerDB-1024x813.png 1024w, https:\/\/www.dontesta.it\/wp-content\/uploads\/2014\/02\/Liferay7CEOnSQLServerDB-300x238.png 300w, https:\/\/www.dontesta.it\/wp-content\/uploads\/2014\/02\/Liferay7CEOnSQLServerDB-768x610.png 768w, https:\/\/www.dontesta.it\/wp-content\/uploads\/2014\/02\/Liferay7CEOnSQLServerDB.png 1029w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><p id=\"caption-attachment-3537\" class=\"wp-caption-text\">Liferay 7 CE on SQL Server DB<\/p><\/div>\n<p>&nbsp;<\/p>\n<div id=\"attachment_3538\" style=\"width: 730px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.dontesta.it\/wp-content\/uploads\/2014\/02\/Liferay7CEOnSQLServerDB_1.png\" rel=\"attachment wp-att-3523\"><img aria-describedby=\"caption-attachment-3538\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-3538 size-large\" title=\"Figure 3 - Liferay 7 CE GA1 on Oracle Database\" src=\"http:\/\/www.dontesta.it\/wp-content\/uploads\/2014\/02\/Liferay7CEOnSQLServerDB_1-1024x234.png\" alt=\"Liferay 7 CE on SQL Server DB\" width=\"720\" height=\"165\" srcset=\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2014\/02\/Liferay7CEOnSQLServerDB_1-1024x234.png 1024w, https:\/\/www.dontesta.it\/wp-content\/uploads\/2014\/02\/Liferay7CEOnSQLServerDB_1-300x69.png 300w, https:\/\/www.dontesta.it\/wp-content\/uploads\/2014\/02\/Liferay7CEOnSQLServerDB_1-768x176.png 768w, https:\/\/www.dontesta.it\/wp-content\/uploads\/2014\/02\/Liferay7CEOnSQLServerDB_1.png 1233w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><p id=\"caption-attachment-3538\" class=\"wp-caption-text\">Liferay 7 CE on SQL Server DB<\/p><\/div>\n<h2>4. The next step<\/h2>\n<p style=\"text-align: justify;\">Likewise you can also add support for other databases. The new challenge is to add the Cluster to Liferay. The operation should be feasible through the <a href=\"https:\/\/www.osgi.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">OSGi<\/a> framework.<\/p>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Those who follow Liferay is aware of the fact that the Community Edition version 7 of Liferay, were eliminated quite a bit of components App Server, Database &amp; Clustering Support. For more detail information&#46;&#46;&#46;<\/p>\n","protected":false},"author":3,"featured_media":3543,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"image","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[490,117,15,55,22,23],"tags":[190,623,637,595],"class_list":["post-3540","post","type-post","status-publish","format-image","has-post-thumbnail","hentry","category-blog-2","category-cms","category-liferay","category-mssql","category-programming","category-rdbms","tag-java","tag-java-spi","tag-liferay","tag-microsoft-sql-server","post_format-post-format-image"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Liferay 7 CE: How to add support for Microsoft SQL Server DB<\/title>\n<meta name=\"description\" content=\"How to add support to the Microsoft SQL Server for Liferay 7 Community Edition GA1.Java SPI allows you to extend the behavior without changing the source.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Liferay 7 CE: How to add support for Microsoft SQL Server DB\" \/>\n<meta property=\"og:description\" content=\"How to add support to the Microsoft SQL Server for Liferay 7 Community Edition GA1.Java SPI allows you to extend the behavior without changing the source.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/\" \/>\n<meta property=\"og:site_name\" content=\"Antonio Musarra&#039;s Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/antoniomusarrablog\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/antoniomusarrablog\" \/>\n<meta property=\"article:published_time\" content=\"2016-04-19T21:22:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-10-08T21:21:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2016\/04\/HowToAddSupportForSQLServerDB_FeatureImage-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"743\" \/>\n\t<meta property=\"og:image:height\" content=\"363\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Antonio Musarra\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@antonio_musarra\" \/>\n<meta name=\"twitter:site\" content=\"@antonio_musarra\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Antonio Musarra\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/\"},\"author\":{\"name\":\"Antonio Musarra\",\"@id\":\"https:\/\/www.dontesta.it\/#\/schema\/person\/0c69ed36230e1477875d6171b48b9b24\"},\"headline\":\"Liferay 7 CE: How to add support for SQL Server DB\",\"datePublished\":\"2016-04-19T21:22:56+00:00\",\"dateModified\":\"2019-10-08T21:21:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/\"},\"wordCount\":894,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.dontesta.it\/#\/schema\/person\/0c69ed36230e1477875d6171b48b9b24\"},\"image\":{\"@id\":\"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2016\/04\/HowToAddSupportForSQLServerDB_FeatureImage-1.jpg\",\"keywords\":[\"Java\",\"Java SPI\",\"Liferay\",\"Microsoft SQL Server\"],\"articleSection\":[\"Blog\",\"CMS\",\"Liferay\",\"MSSQL\",\"Programming\",\"RDBMS\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/\",\"url\":\"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/\",\"name\":\"Liferay 7 CE: How to add support for Microsoft SQL Server DB\",\"isPartOf\":{\"@id\":\"https:\/\/www.dontesta.it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2016\/04\/HowToAddSupportForSQLServerDB_FeatureImage-1.jpg\",\"datePublished\":\"2016-04-19T21:22:56+00:00\",\"dateModified\":\"2019-10-08T21:21:02+00:00\",\"description\":\"How to add support to the Microsoft SQL Server for Liferay 7 Community Edition GA1.Java SPI allows you to extend the behavior without changing the source.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/#primaryimage\",\"url\":\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2016\/04\/HowToAddSupportForSQLServerDB_FeatureImage-1.jpg\",\"contentUrl\":\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2016\/04\/HowToAddSupportForSQLServerDB_FeatureImage-1.jpg\",\"width\":743,\"height\":363,\"caption\":\"How to add support for Microsoft SQL Server Database\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.dontesta.it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Liferay 7 CE: How to add support for SQL Server DB\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dontesta.it\/#website\",\"url\":\"https:\/\/www.dontesta.it\/\",\"name\":\"Antonio Musarra&#039;s Blog\",\"description\":\"The ideal solution for a problem\",\"publisher\":{\"@id\":\"https:\/\/www.dontesta.it\/#\/schema\/person\/0c69ed36230e1477875d6171b48b9b24\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dontesta.it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.dontesta.it\/#\/schema\/person\/0c69ed36230e1477875d6171b48b9b24\",\"name\":\"Antonio Musarra\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dontesta.it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2024\/06\/cropped-foto_profilo.png\",\"contentUrl\":\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2024\/06\/cropped-foto_profilo.png\",\"width\":512,\"height\":512,\"caption\":\"Antonio Musarra\"},\"logo\":{\"@id\":\"https:\/\/www.dontesta.it\/#\/schema\/person\/image\/\"},\"description\":\"I began my journey into the world of computing from an Olivetti M24 PC (http:\/\/it.wikipedia.org\/wiki\/Olivetti_M24) bought by my father for his work. Day after day, quickly taking control until \u2026 Now doing business consulting for projects in the enterprise application development using web-oriented technologies such as J2EE, Web Services, ESB, TIBCO, PHP.\",\"sameAs\":[\"https:\/\/www.dontesta.it\",\"https:\/\/www.facebook.com\/antoniomusarrablog\",\"https:\/\/www.linkedin.com\/in\/amusarra\/\",\"https:\/\/x.com\/antonio_musarra\",\"https:\/\/www.youtube.com\/channel\/UC5D3_EtVPbZYUhrUcEK_THA\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Liferay 7 CE: How to add support for Microsoft SQL Server DB","description":"How to add support to the Microsoft SQL Server for Liferay 7 Community Edition GA1.Java SPI allows you to extend the behavior without changing the source.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/","og_locale":"en_US","og_type":"article","og_title":"Liferay 7 CE: How to add support for Microsoft SQL Server DB","og_description":"How to add support to the Microsoft SQL Server for Liferay 7 Community Edition GA1.Java SPI allows you to extend the behavior without changing the source.","og_url":"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/","og_site_name":"Antonio Musarra&#039;s Blog","article_publisher":"https:\/\/www.facebook.com\/antoniomusarrablog","article_author":"https:\/\/www.facebook.com\/antoniomusarrablog","article_published_time":"2016-04-19T21:22:56+00:00","article_modified_time":"2019-10-08T21:21:02+00:00","og_image":[{"width":743,"height":363,"url":"https:\/\/www.dontesta.it\/wp-content\/uploads\/2016\/04\/HowToAddSupportForSQLServerDB_FeatureImage-1.jpg","type":"image\/jpeg"}],"author":"Antonio Musarra","twitter_card":"summary_large_image","twitter_creator":"@antonio_musarra","twitter_site":"@antonio_musarra","twitter_misc":{"Written by":"Antonio Musarra","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/#article","isPartOf":{"@id":"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/"},"author":{"name":"Antonio Musarra","@id":"https:\/\/www.dontesta.it\/#\/schema\/person\/0c69ed36230e1477875d6171b48b9b24"},"headline":"Liferay 7 CE: How to add support for SQL Server DB","datePublished":"2016-04-19T21:22:56+00:00","dateModified":"2019-10-08T21:21:02+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/"},"wordCount":894,"commentCount":0,"publisher":{"@id":"https:\/\/www.dontesta.it\/#\/schema\/person\/0c69ed36230e1477875d6171b48b9b24"},"image":{"@id":"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dontesta.it\/wp-content\/uploads\/2016\/04\/HowToAddSupportForSQLServerDB_FeatureImage-1.jpg","keywords":["Java","Java SPI","Liferay","Microsoft SQL Server"],"articleSection":["Blog","CMS","Liferay","MSSQL","Programming","RDBMS"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/","url":"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/","name":"Liferay 7 CE: How to add support for Microsoft SQL Server DB","isPartOf":{"@id":"https:\/\/www.dontesta.it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/#primaryimage"},"image":{"@id":"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dontesta.it\/wp-content\/uploads\/2016\/04\/HowToAddSupportForSQLServerDB_FeatureImage-1.jpg","datePublished":"2016-04-19T21:22:56+00:00","dateModified":"2019-10-08T21:21:02+00:00","description":"How to add support to the Microsoft SQL Server for Liferay 7 Community Edition GA1.Java SPI allows you to extend the behavior without changing the source.","breadcrumb":{"@id":"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/#primaryimage","url":"https:\/\/www.dontesta.it\/wp-content\/uploads\/2016\/04\/HowToAddSupportForSQLServerDB_FeatureImage-1.jpg","contentUrl":"https:\/\/www.dontesta.it\/wp-content\/uploads\/2016\/04\/HowToAddSupportForSQLServerDB_FeatureImage-1.jpg","width":743,"height":363,"caption":"How to add support for Microsoft SQL Server Database"},{"@type":"BreadcrumbList","@id":"https:\/\/www.dontesta.it\/en\/2016\/04\/19\/liferay-7-ce-how-to-add-support-for-sql-server-db\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.dontesta.it\/"},{"@type":"ListItem","position":2,"name":"Liferay 7 CE: How to add support for SQL Server DB"}]},{"@type":"WebSite","@id":"https:\/\/www.dontesta.it\/#website","url":"https:\/\/www.dontesta.it\/","name":"Antonio Musarra&#039;s Blog","description":"The ideal solution for a problem","publisher":{"@id":"https:\/\/www.dontesta.it\/#\/schema\/person\/0c69ed36230e1477875d6171b48b9b24"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dontesta.it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.dontesta.it\/#\/schema\/person\/0c69ed36230e1477875d6171b48b9b24","name":"Antonio Musarra","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dontesta.it\/#\/schema\/person\/image\/","url":"https:\/\/www.dontesta.it\/wp-content\/uploads\/2024\/06\/cropped-foto_profilo.png","contentUrl":"https:\/\/www.dontesta.it\/wp-content\/uploads\/2024\/06\/cropped-foto_profilo.png","width":512,"height":512,"caption":"Antonio Musarra"},"logo":{"@id":"https:\/\/www.dontesta.it\/#\/schema\/person\/image\/"},"description":"I began my journey into the world of computing from an Olivetti M24 PC (http:\/\/it.wikipedia.org\/wiki\/Olivetti_M24) bought by my father for his work. Day after day, quickly taking control until \u2026 Now doing business consulting for projects in the enterprise application development using web-oriented technologies such as J2EE, Web Services, ESB, TIBCO, PHP.","sameAs":["https:\/\/www.dontesta.it","https:\/\/www.facebook.com\/antoniomusarrablog","https:\/\/www.linkedin.com\/in\/amusarra\/","https:\/\/x.com\/antonio_musarra","https:\/\/www.youtube.com\/channel\/UC5D3_EtVPbZYUhrUcEK_THA\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.dontesta.it\/en\/wp-json\/wp\/v2\/posts\/3540","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dontesta.it\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dontesta.it\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dontesta.it\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dontesta.it\/en\/wp-json\/wp\/v2\/comments?post=3540"}],"version-history":[{"count":0,"href":"https:\/\/www.dontesta.it\/en\/wp-json\/wp\/v2\/posts\/3540\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dontesta.it\/en\/wp-json\/wp\/v2\/media\/3543"}],"wp:attachment":[{"href":"https:\/\/www.dontesta.it\/en\/wp-json\/wp\/v2\/media?parent=3540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dontesta.it\/en\/wp-json\/wp\/v2\/categories?post=3540"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dontesta.it\/en\/wp-json\/wp\/v2\/tags?post=3540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}