MediaWiki extensions manual
OOjs UI icon advanced.svg
Release status: beta
Implementation Database
Description Back compat hack for those that need non core MSSQL support (SMW, ED or something)
MediaWiki 1.17+
License GPLv2
Translate the MSSQLBackCompat extension if it is available at translatewiki.net
Check usage and version matrix.

This extension allow MediaWiki to query a Microsoft SQL database from Linux. It is not recommended for general everyday because to install it, you'll have to modify a file in the main files of MediaWiki. It is broken to use as the main MediaWiki databse but quite useful for extensions that query a database for other informations such as External Data.


On Windows platforms, in PHP 5.3 and later, the mssql extension is being phased out in favor of SQLDRV, a Windows only extension.[1] MediaWiki has followed and removed the old implementation[2] and replaced it with SQLDRV.[3]

On Unix/Linux platforms, the mssql extension is still supported and use the FreeTDS library. This extension makes use of it.


  1. Download the files from Git and place them in $IP /extensions/MSSQLBackCompat/
  2. Add
    require_once( "$IP/extensions/MSSQLBackCompat/MSSQLBackCompat.php" );
    into your wiki's LocalSettings.php
  3. Modify the file includes/db/Database.php as shown below.


To use this extension you have to modify $IP /includes/db/Database.php

Search for the following:

        public final static function newFromType( $dbType, $p = array() ) {
                $canonicalDBTypes = array(
                        'mysql', 'postgres', 'sqlite', 'oracle', 'mssql', 'ibm_db2'
                $dbType = strtolower( $dbType );

Replace with:

        public final static function newFromType( $dbType, $p = array() ) {
                $canonicalDBTypes = array(
                        'mysql', 'postgres', 'sqlite', 'oracle', 'mssql', 'ibm_db2', 'mssqlold',
                $dbType = strtolower( $dbType );


Suggested modification to your /etc/freetds.conf configuration file. UTF-8 allow you to use international characters.

        # TDS protocol version
        #tds version = 4.2
        tds version = 8.0
        client charset = UTF-8


  1. https://secure.php.net/intro.mssql
  2. See modifications in revision 65404.
  3. See modifications in revision 70608 and upward.