SilverStripe\MSSQL\MSSQLDatabase
Microsoft SQL Server 2008+ connector class.
<h2>Connecting using Windows</h2>
If you've got your website running on Windows, it's highly recommended you
use Microsoft SQL Server Driver for PHP "sqlsrv".
A complete guide to installing a Windows IIS + PHP + SQL Server web stack can be
found here: http://doc.silverstripe.org/installation-on-windows-server-manual-iis
Synopsis
class MSSQLDatabase
extends Database
{
- // members
- public static array $noiseWords = ;
- protected boolean $supportsTransactions = true;
- protected $fullTextEnabled = NULL;
- protected bool $transactionNesting = 0;
- // methods
- public static void set_collation()
- public static string get_collation()
- public void connect()
- public boolean fullTextEnabled()
- protected boolean updateFullTextEnabled()
- public void supportsCollations()
- public void supportsTimezoneOverride()
- public void getDatabaseServer()
- public void selectDatabase()
- public void clearTable()
- public void now()
- public void random()
- public PaginatedList searchEngine()
- public void allowPrimaryKeyEditing()
- public string fullTextSearchMSSQL()
- public array removeStopwords()
- public void supportsTransactions()
- public boolean supportsExtensions()
- public void transactionStart()
- public void transactionSavepoint()
- public void transactionRollback()
- public void transactionEnd()
- protected void resetTransactionNesting()
- public void query()
- public void preparedQuery()
- protected void inspectQuery()
- public void comparisonClause()
- public string formattedDatetimeClause()
- public string datetimeIntervalClause()
- public string datetimeDifferenceClause()
Hierarchy
Extends
- SilverStripe\ORM\Connect\Database
Uses
- SilverStripe\Core\Config\Configurable
- SilverStripe\Core\Injector\Injectable
Members
protected
- $fullTextEnabled
—
boolean
Cached flag to determine if full-text is enabled. This is set by {@link MSSQLDatabase::fullTextEnabled()} -
$supportsTransactions
Transactions will work with FreeTDS, but not entirely with sqlsrv driver on Windows with MARS enabled. - $transactionNesting — SilverStripe\MSSQL\bool
public
-
$noiseWords
Words that will trigger an error if passed to a SQL Server fulltext search
Methods
protected
- inspectQuery()
- resetTransactionNesting() — In error condition, set transactionNesting to zero
- updateFullTextEnabled() — Checks whether the current SQL Server version has full-text support installed and full-text is enabled for this database.
public
- allowPrimaryKeyEditing() — Allow auto-increment primary key editing on the given table.
- clearTable()
- comparisonClause()
- connect() — Connect to a MS SQL database.
- datetimeDifferenceClause() — Function to return an SQL datetime expression for MSSQL.
- datetimeIntervalClause() — Function to return an SQL datetime expression for MSSQL.
- formattedDatetimeClause() — Function to return an SQL datetime expression for MSSQL used for querying a datetime in a certain format
- fullTextEnabled() — Checks whether the current SQL Server version has full-text support installed and full-text is enabled for this database.
- fullTextSearchMSSQL() — Returns a SQL fragment for querying a fulltext search index
- getDatabaseServer()
- get_collation() — The default collation of the MSSQL nvarchar fields that we create.
- now() — SQL Server uses CURRENT_TIMESTAMP for the current date/time.
- preparedQuery()
- query()
- random() — Returns the database-specific version of the random() function
- removeStopwords() — Remove stopwords that would kill a MSSQL full-text query
- searchEngine() — The core search engine configuration.
- selectDatabase()
- set_collation() — Set the default collation of the MSSQL nvarchar fields that we create.
- supportsCollations()
- supportsExtensions() — This is a quick lookup to discover if the database supports particular extensions Currently, MSSQL supports no extensions
- supportsTimezoneOverride()
- supportsTransactions() — Does this database support transactions?
- transactionEnd()
- transactionRollback()
- transactionSavepoint()
- transactionStart() — Start transaction. READ ONLY not supported.