This is from another thread, but an example of the differences between MSSQL and MySQL when using extensions:
Before you change the database type, make sure that all the extensions you would like to use support MSSQL. The release of Joomla 2.5 makes all the core Joomla MSSQL compatible, however there are currently very few extensions that have had MSSQL support added. If you look at the com_myextension.xml file, you can see which databases they current support, eg. (in this case mySQL and MS SQL)
Code:
<install>
<sql>
<file driver="mysql" charset="utf8">sql/install.mysql.utf8.sql</file>
<file driver="sqlsrv" charset="utf8">sql/install.sqlsrv.utf8.sql</file> </sql>
</install>
The syntax for MSSQL (sqlsrv) is very different to mySQL, for example:
Example of JCE Editor -
MySQL:
Code:
CREATE TABLE IF NOT EXISTS `#__wf_profiles` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`description` varchar(255) NOT NULL,
`users` text NOT NULL,
`types` varchar(255) NOT NULL,
`components` text NOT NULL,
`area` tinyint(3) NOT NULL,
`rows` text NOT NULL,
`plugins` text NOT NULL,
`published` tinyint(3) NOT NULL,
`ordering` int(11) NOT NULL,
`checked_out` tinyint(3) NOT NULL,
`checked_out_time` datetime NOT NULL,
`params` text NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;
Compared to MSSQL:
Code:
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[#__wf_profiles]') AND type in (N'U'))
BEGIN
CREATE TABLE [#__wf_profiles](
[id] [bigint] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](250) NOT NULL,
[description] [nvarchar](250) NOT NULL,
[users] [text] NOT NULL,
[types] [nvarchar](250) NOT NULL,
[components] [nvarchar](max) NOT NULL,
[area] [smallint] NOT NULL,
[rows] [nvarchar](max) NOT NULL,
[plugins] [nvarchar](max) NOT NULL,
[published] [smallint] NOT NULL,
[ordering] [int] NOT NULL,
[checked_out] [smallint] NOT NULL,
[checked_out_time] [datetime] NOT NULL,
[params] [nvarchar](max) NOT NULL,
CONSTRAINT [PK_#__wf_profiles_id] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF)
)
END;
And the extension needs to be using the database query format
Code:
Code:
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->from('#__myextension AS a');
$query->select('a.*, c.title AS category_name');
$query->join('LEFT', '#__categories AS c ON c.id = a.catid');
$query->where('(a.state IN (0, 1))');
$query->order('a.catid, a.ordering');