Класс Sqlserver
Драйвер SQLServer.
Константы
-
int|nullMAX_ALIAS_LENGTH128
-
int[]RETRY_ERROR_CODES[40613]
Краткое описание свойств
- $_autoQuoting protected
boolУказывает, выполняет ли драйвер автоматическое обрамление идентификаторов во всех запросах
- $_baseConfig protected
arrayОсновные параметры конфигурации для драйвера Sqlserver
- $_config protected
arrayДанные конфигурации.
- $_connection protected
PDOЭкземпляр PDO.
- $_endQuote protected
stringСтрока, используемая для завершения обрамления идентификатора базы данных, чтобы сделать его безопасным
- $_schemaDialect protected
Cake\Database\Schema\SqlserverSchemaDialect|nullКласс схемы диалекта для этого драйвера
- $_startQuote protected
stringСтрока, используемая для начала обрамления идентификатора базы данных, чтобы сделать его безопасным
- $_version protected
string|nullВерсия сервера
- $connectRetries protected
intПоследнее число попыток повторной подключения.
- $supportsCTEs protected
bool|nullПоддерживает ли сервер выражения общих таблиц.
Краткое описание методов
-
__construct() public
Конструктор
-
__debugInfo() public
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
-
__destruct() public
Деструктор
-
_connect() protected
Устанавливает соединение с сервером базы данных
-
_deleteQueryTranslator() protected
Применяет шаги трансляции к запросам удаления.
-
_expressionTranslators() protected
Возвращает ассоциативный массив методов, которые будут преобразовывать объекты Expression в соответствии со специфическим диалектом SQL. Ключи — имена классов, значения — метод в этом классе.
-
_insertQueryTranslator() protected
Применяет шаги трансляции к запросам вставки.
-
_pagingSubquery() protected
Генерирует подзапрос для постраничной навигации для более старых версий SQLServer.
-
_removeAliasesFromConditions() protected
Удаляет псевдонимы из
WHERE-клаузы запроса. -
_selectQueryTranslator() protected
Применяет шаги трансляции к запросам выбора.
-
_transformDistinct() protected
Возвращает переданный запрос после переписывания предложения DISTINCT, чтобы драйверы, которые не поддерживают часть "ON", могли обеспечить фактический способ её выполнения
-
_transformFunctionExpression() protected
Принимает FunctionExpression и изменяет его так, чтобы он соответствовал этому диалекту SQL.
-
_transformTupleComparison() protected
Принимает TupleExpression и изменяет его так, чтобы он соответствовал этому диалекту SQL.
-
_updateQueryTranslator() protected
Применяет шаги трансляции к запросам обновления.
-
beginTransaction() public
Начинает транзакцию.
-
commitTransaction() public
Подтверждает транзакцию.
-
compileQuery() public
Преобразует переданный запрос в диалект этого драйвера и возвращает экземпляр преобразованного запроса и полную скомпилированную строку SQL.
-
connect() public
Устанавливает соединение с сервером базы данных.
-
disableAutoQuoting() public
Отключает автоматическую обработку кавычек идентификаторов в запросах.
-
disableForeignKeySQL() public
Получить SQL для отключения внешних ключей.
-
disconnect() public
Отключается от сервера базы данных.
-
enableAutoQuoting() public
Устанавливает, следует ли этому драйверу автоматически добавлять кавычки к идентификаторам в запросах.
-
enableForeignKeySQL() public
Получить SQL для включения внешних ключей.
-
enabled() public
Возвращает, может ли PHP использовать этот драйвер для подключения к базе данных
-
getConnectRetries() public
Возвращает количество попыток повторного подключения.
-
getConnection() public
Получить внутренний экземпляр подключения PDO.
-
getMaxAliasLength() public
Возвращает максимальную длину псевдонима. Она может отличаться от максимальной длины идентификатора столбцов.
-
isAutoQuotingEnabled() public
Возвращает, следует ли этому драйверу автоматически добавлять кавычки к идентификаторам в запросах.
-
isConnected() public
Проверяет, подключен ли драйвер.
-
lastInsertId() public
Возвращает последний сгенерированный идентификатор для таблицы или последовательности в базе данных.
-
newCompiler() public
Возвращает экземпляр QueryCompiler.
-
newTableSchema() public
Создаёт новую TableSchema.
-
prepare() public
Подготавливает SQL-запрос к выполнению.
-
queryTranslator() public
Возвращает вызываемую функцию, которая будет использоваться для преобразования переданного объекта Query. Эта функция, в свою очередь, вернёт экземпляр объекта Query, преобразованного для учёта особенностей используемого диалекта SQL.
-
quote() public
Возвращает значение в безопасном представлении для использования в строке запроса.
-
quoteIdentifier() public
Обрамляет базовый идентификатор базы данных (имя столбца, имя таблицы и т. п.) кавычками, чтобы безопасно использовать его в запросах, не рискуя использовать зарезервированные слова.
-
releaseSavePointSQL() public
Возвращает фрагмент SQL для освобождения ранее созданной точки сохранения.
-
rollbackSavePointSQL() public
Возвращает фрагмент SQL для откатывания ранее созданной точки сохранения.
-
rollbackTransaction() public
Откатывает транзакцию.
-
savePointSQL() public
Возвращает фрагмент SQL для создания новой точки сохранения транзакции.
-
schema() public
Возвращает имя схемы, используемой в данный момент.
-
schemaDialect() public
Получить диалект схемы.
-
schemaValue() public
Обрабатывает значения для использования в определениях схемы.
-
setConnection() public
Устанавливает внутренний экземпляр подключения PDO.
-
supportsCTEs() public
Возвращает true, если сервер поддерживает общие табличные выражения.
-
supportsDynamicConstraints() public
Возвращает, поддерживает ли драйвер добавление или удаление ограничений к уже созданным таблицам.
-
supportsQuoting() public
Проверяет, поддерживает ли драйвер цитирование, так как PDO_ODBC его не поддерживает.
-
supportsSavePoints() public
Возвращает, поддерживает ли этот драйвер сохранение точек для вложенных транзакций.
-
version() public
Возвращает версию подключенного сервера.
Подробное описание методов
__construct() public
__construct(array $config = [])
Конструктор
Параметры
-
array$config optional Настройка драйвера.
Исключения
InvalidArgumentException__debugInfo() public
__debugInfo(): array
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращаемое значение
array__destruct() public
__destruct()
Деструктор
_connect() protected
_connect(string $dsn, array $config): bool
Устанавливает соединение с сервером базы данных
Параметры
-
string$dsn Спецификация источника данных (DSN) драйвера PDO.
-
array$config Настройка, используемая для создания соединения.
Возвращаемое значение
bool_deleteQueryTranslator() protected
_deleteQueryTranslator(Cake\Database\Query $query): Cake\Database\Query
Применяет шаги трансляции к запросам удаления.
Удаляет псевдонимы из условий запросов удаления, так как большинство диалектов баз данных не поддерживают псевдонимы в таких запросах. Также удаляются псевдонимы в именах таблиц, так как они часто тоже не работают.
Мы намеренно не поддерживаем удаления с объединениями, так как они имеют еще более слабую поддержку.
Параметры
-
Cake\Database\Query$query Запрос для трансляции.
Возвращаемое значение
Cake\Database\Query_expressionTranslators() protected
_expressionTranslators(): string[]
Возвращает ассоциативный массив методов, которые преобразуют объекты Expression в соответствии с конкретным диалектом SQL. Ключи — имена классов, значения — метод в этом классе.
Возвращаемое значение
string[]_insertQueryTranslator() protected
_insertQueryTranslator(Cake\Database\Query $query): Cake\Database\Query
Применяет шаги трансляции к запросам вставки.
Параметры
-
Cake\Database\Query$query Запрос для трансляции.
Возвращаемое значение
Cake\Database\Query_pagingSubquery() protected
_pagingSubquery(Cake\Database\Query $original, int|null $limit, int|null $offset): Cake\Database\Query
Генерирует подзапрос для постраничной навигации для старых версий SQLServer.
До SQLServer 2012 не было эквивалента LIMIT OFFSET, поэтому должен использоваться подзапрос.
Параметры
-
Cake\Database\Query$original Запрос, который необходимо обернуть в подзапрос.
-
int|null$limit Количество строк для извлечения.
-
int|null$offset Количество строк для смещения.
Возвращаемое значение
Cake\Database\Query_removeAliasesFromConditions() protected
_removeAliasesFromConditions(Cake\Database\Query $query): Cake\Database\Query
Удаляет псевдонимы из условия WHERE запроса.
Параметры
-
Cake\Database\Query$query Запрос для обработки.
Возвращаемое значение
Cake\Database\QueryИсключения
RuntimeExceptionВ случае, если обработанный запрос содержит объединения, так как удаление псевдонимов из условий может нарушить ссылки на таблицы, объединённые в запросе.
_selectQueryTranslator() protected
_selectQueryTranslator(Cake\Database\Query $query): Cake\Database\Query
Применяет шаги трансляции к запросам выбора.
Параметры
-
Cake\Database\Query$query
Возвращаемое значение
Cake\Database\Query_transformDistinct() protected
_transformDistinct(Cake\Database\Query $query): Cake\Database\Query
Возвращает переданный запрос после переписывания условия DISTINCT, чтобы драйверы, которые не поддерживают часть «ON», могли предоставить фактический способ выполнения.
Параметры
-
Cake\Database\Query$query
Возвращаемое значение
Cake\Database\Query_transformFunctionExpression() protected
_transformFunctionExpression(Cake\Database\Expression\FunctionExpression $expression): void
Принимает FunctionExpression и изменяет её так, чтобы она соответствовала данному диалекту SQL.
Параметры
-
Cake\Database\Expression\FunctionExpression$expression Функциональное выражение для преобразования в TSQL.
Возвращаемое значение
void_transformTupleComparison() protected
_transformTupleComparison(Cake\Database\Expression\TupleComparison $expression, Cake\Database\Query $query): void
Принимает TupleExpression и изменяет её в соответствии с данным диалектом SQL.
Преобразует выражения вида '(a, b) IN ((c, d), (e, f))' в эквивалентное выражение вида '((a = c) AND (b = d)) OR ((a = e) AND (b = f))'.
Также может преобразовывать выражения, где правая часть — запрос, выбирающий такое же количество столбцов, как элементы в левой части выражения:
(a, b) IN (SELECT c, d FROM a_table) преобразуется в
1 = (SELECT 1 FROM a_table WHERE (a = c) AND (b = d))
Параметры
-
Cake\Database\Expression\TupleComparison$expression Выражение для преобразования
-
Cake\Database\Query$query Запрос для обновления.
Возвращаемое значение
void_updateQueryTranslator() protected
_updateQueryTranslator(Cake\Database\Query $query): Cake\Database\Query
Применяет шаги трансляции к запросам обновления.
Удаляет псевдонимы из условий запросов обновления, так как не все диалекты баз данных поддерживают псевдонимы в запросах обновления.
Как и для запросов удаления, объединения в данный момент не поддерживаются для запросов обновления.
Параметры
-
Cake\Database\Query$query Запрос для трансляции.
Возвращаемое значение
Cake\Database\QuerybeginTransaction() public
beginTransaction(): bool
Начинает транзакцию.
Возвращаемое значение
boolcommitTransaction() public
commitTransaction(): bool
Подтверждает транзакцию.
Возвращаемое значение
boolcompileQuery() public
compileQuery(Cake\Database\Query $query, Cake\Database\ValueBinder $binder): array
Преобразует переданный запрос в диалект данного драйвера и возвращает экземпляр преобразованного запроса и полную скомпилированную строку SQL.
Параметры
-
Cake\Database\Query$query -
Cake\Database\ValueBinder$binder
Возвращаемое значение
arrayconnect() public
connect(): bool
Устанавливает соединение с сервером базы данных.
Обратите внимание, что атрибут PDO::ATTR_PERSISTENT не поддерживается SQL Server PHP PDO драйверами. В результате вы не можете использовать опцию сохранения соединения при подключении к SQL Server (для получения дополнительной информации см.: https://github.com/Microsoft/msphpsql/issues/65).
Возвращаемое значение
boolИсключения
InvalidArgumentExceptionесли в конфигурации драйвера задано недопустимое значение
disableAutoQuoting() public
disableAutoQuoting(): $this
Отключает автоматическое цитирование идентификаторов в запросах.
Возвращаемое значение
$thisdisableForeignKeySQL() public
disableForeignKeySQL(): string
Получает SQL для отключения внешних ключей.
Возвращаемое значение
stringdisconnect() public
disconnect(): void
Отключается от сервера базы данных.
Возвращаемое значение
voidenableAutoQuoting() public
enableAutoQuoting(bool $enable = true): $this
Устанавливает, следует ли этому драйверу автоматически заключать идентификаторы в кавычки в запросах.
Parameters
-
bool$enable optional
Returns
$thisenableForeignKeySQL() public
enableForeignKeySQL(): string
Получить SQL-код для включения внешних ключей.
Returns
stringenabled() public
enabled(): bool
Возвращает, может ли PHP использовать этот драйвер для подключения к базе данных.
Returns
boolgetConnectRetries() public
getConnectRetries(): int
Возвращает количество попыток повторного подключения.
Returns
intgetConnection() public
getConnection(): PDO
Получить внутренний экземпляр PDO-подключения.
Returns
PDOgetMaxAliasLength() public
getMaxAliasLength(): int|null
Возвращает максимально допустимую длину псевдонима. Это может отличаться от максимальной длины идентификатора для столбцов.
Returns
int|nullisAutoQuotingEnabled() public
isAutoQuotingEnabled(): bool
Возвращает, следует ли этому драйверу автоматически заключать идентификаторы в кавычки в запросах.
Returns
boolisConnected() public
isConnected(): bool
Проверяет, подключен ли драйвер.
Returns
boollastInsertId() public
lastInsertId(string|null $table = null, string|null $column = null): string|int
Возвращает последний сгенерированный ID для таблицы или последовательности в базе данных.
Parameters
-
string|null$table optional -
string|null$column optional
Returns
string|intnewCompiler() public
newCompiler(): Cake\Database\SqlserverCompiler
Возвращает экземпляр QueryCompiler.
Returns
Cake\Database\SqlserverCompilernewTableSchema() public
newTableSchema(string $table, array $columns = []): Cake\Database\Schema\TableSchema
Создает новый TableSchema.
Parameters
-
string$table -
array$columns optional
Returns
Cake\Database\Schema\TableSchemaprepare() public
prepare(stringCake\Database\Query $query): Cake\Database\StatementInterface
Подготавливает SQL-запрос к выполнению.
Parameters
-
stringCake\Database\Query$query Запрос для подготовки.
Returns
Cake\Database\StatementInterfacequeryTranslator() public
queryTranslator(string $type): Closure
Возвращает вызываемую функцию, которая будет использоваться для преобразования переданного объекта Query. Эта функция, в свою очередь, вернет экземпляр объекта Query, который был преобразован для учета любых особенностей используемого диалекта SQL.
Parameters
-
string$type тип запроса, который необходимо преобразовать (select, insert, update, delete)
Returns
Closurequote() public
quote(mixed $value, int $type = PDO::PARAM_STR): string
Возвращает значение в безопасном представлении для использования в строке запроса.
Parameters
-
mixed$value -
int$type optional
Returns
stringquoteIdentifier() public
quoteIdentifier(string $identifier): string
Заключает идентификатор базы данных (имя столбца, имя таблицы и т. д.) в кавычки, чтобы безопасно использовать его в запросах без риска использования зарезервированных слов.
Parameters
-
string$identifier Идентификатор для заключения в кавычки.
Returns
stringreleaseSavePointSQL() public
releaseSavePointSQL(string|int $name): string
Возвращает фрагмент SQL для освобождения ранее созданной точки сохранения.
Parameters
-
string|int$name
Returns
stringrollbackSavePointSQL() public
rollbackSavePointSQL(string|int $name): string
Возвращает фрагмент SQL для отката ранее созданной точки сохранения.
Parameters
-
string|int$name
Returns
stringrollbackTransaction() public
rollbackTransaction(): bool
Откатывает транзакцию.
Returns
boolsavePointSQL() public
savePointSQL(string|int $name): string
Возвращает фрагмент SQL для создания новой точки сохранения транзакции.
Parameters
-
string|int$name
Returns
stringschema() public
schema(): string
Возвращает используемое имя схемы.
Returns
stringschemaDialect() public
schemaDialect(): Cake\Database\Schema\SchemaDialect
Получить диалект схемы.
Используется пакетом Cake\Database\Schema для отображения схемы и генерации схемы.
Если все таблицы, использующие этот драйвер, указывают свои собственные схемы, то это может вернуть null.
Returns
Cake\Database\Schema\SchemaDialectschemaValue() public
schemaValue(mixed $value): string
Экранирует значения для использования в определениях схемы.
Parameters
-
mixed$value
Returns
stringsetConnection() public
setConnection(object $connection): $this
Установить внутренний экземпляр PDO-подключения.
Parameters
-
object$connection Экземпляр PDO.
Returns
$thissupportsCTEs() public
supportsCTEs(): bool
Возвращает true, если сервер поддерживает общие табличные выражения.
Returns
boolsupportsDynamicConstraints() public
supportsDynamicConstraints(): bool
Возвращает, поддерживает ли драйвер добавление или удаление ограничений в уже созданные таблицы.
Returns
boolsupportsQuoting() public
supportsQuoting(): bool
Проверяет, поддерживает ли драйвер кавычки, поскольку PDO_ODBC их не поддерживает.
Returns
boolsupportsSavePoints() public
supportsSavePoints(): bool
Возвращает, поддерживает ли этот драйвер точки сохранения для вложенных транзакций.
Возвращает
boolversion() public
version(): string
Возвращает версию подключенного сервера.
Возвращает
stringПодробное описание свойств
$_autoQuoting protected
Указывает, выполняет ли драйвер автоматическое цитирование идентификаторов для всех запросов
Тип
bool$_baseConfig protected
Базовые параметры конфигурации для драйвера Sqlserver
Тип
array$_config protected
Данные конфигурации.
Тип
array$_connection protected
Экземпляр PDO.
Тип
PDO$_endQuote protected
Строка, используемая для завершения цитирования идентификатора базы данных, чтобы сделать его безопасным
Тип
string$_schemaDialect protected
Класс диалекта схемы для этого драйвера
Тип
Cake\Database\Schema\SqlserverSchemaDialect|null$_startQuote protected
Строка, используемая для начала цитирования идентификатора базы данных, чтобы сделать его безопасным
Тип
string$_version protected
Версия сервера
Тип
string|null$connectRetries protected
Последнее число попыток повторного подключения.
Тип
int$supportsCTEs protected
Поддерживает ли сервер выражения общих таблиц.
Тип
bool|null
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.2/class-Cake.Database.Driver.Sqlserver.html