Класс Sqlserver
Драйвер SQLServer.
Константы
-
stringFEATURE_CTE'cte'
Поддержка выражений общих таблиц (с клаузой).
-
stringFEATURE_DISABLE_CONSTRAINT_WITHOUT_TRANSACTION'disable-constraint-without-transaction'
Поддержка отключения ограничений без транзакции.
-
stringFEATURE_JSON'json'
Поддержка нативного типа данных JSON.
-
stringFEATURE_QUOTE'quote'
Поддержка PDO::quote().
-
stringFEATURE_SAVEPOINT'savepoint'
Поддержка сохраняемых точек транзакции.
-
stringFEATURE_TRUNCATE_WITH_CONSTRAINTS'truncate-with-constraints'
Поддержка усечения с присоединёнными внешними ключами.
-
stringFEATURE_WINDOW'window'
Поддержка оконных функций (все или частичные клаузы).
-
int|nullMAX_ALIAS_LENGTH128
-
array<int>RETRY_ERROR_CODES[40613]
Резюме свойств
- $_autoQuoting protected
boolУказывает, делает ли драйвер автоматическую цитирование идентификаторов для всех запросов
- $_baseConfig protected
array<string, mixed>Настройки базовой конфигурации для драйвера Sqlserver
- $_config protected
array<string, mixed>Данные конфигурации.
- $_connection protected
PDOЭкземпляр PDO.
- $_endQuote protected
stringСтрока, используемая для завершения цитирования идентификатора базы данных, чтобы сделать его безопасным
- $_schemaDialect protected
Cake\Database\Schema\SqlserverSchemaDialect|nullКласс диалекта схемы для данного драйвера
- $_startQuote protected
stringСтрока, используемая для начала цитирования идентификатора базы данных, чтобы сделать его безопасным
- $_version protected
string|nullВерсия сервера
- $connectRetries protected
intПоследнее количество попыток повторной попытки подключения.
Краткое описание методов
-
__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
Возвращает максимальную длину псевдонима. Она может отличаться от максимальной длины идентификатора столбцов.
-
inTransaction() 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.
-
supports() public
Возвращает, поддерживает ли драйвер данную функцию.
-
supportsCTEs() public deprecated
Возвращает true, если сервер поддерживает общие табличные выражения.
-
supportsDynamicConstraints() public
Возвращает, поддерживает ли драйвер добавление или удаление ограничений к уже созданным таблицам.
-
supportsQuoting() public deprecated
Проверяет, поддерживает ли драйвер цитирование, так как PDO_ODBC его не поддерживает.
-
supportsSavePoints() public
Возвращает, поддерживает ли этот драйвер точки сохранения для вложенных транзакций.
-
version() public
Возвращает версию подключенного сервера.
Подробное описание методов
__construct() public
__construct(array<string, mixed> $config = [])
Конструктор
Параметры
-
array<string, mixed>$config необязательно Конфигурация драйвера.
Исключения
InvalidArgumentException__debugInfo() public
__debugInfo(): array<string, mixed>
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
array<string, mixed>__destruct() public
__destruct()
Деструктор
_connect() protected
_connect(string $dsn, array<string, mixed> $config): bool
Устанавливает соединение с сервером базы данных
Параметры
-
string$dsn Спецификация DSN, специфичная для драйвера PDO.
-
array<string, mixed>$config конфигурация, которая будет использоваться для создания подключения
Возвращает
bool_deleteQueryTranslator() protected
_deleteQueryTranslator(Cake\Database\Query $query): Cake\Database\Query
Применяет шаги трансляции к запросам удаления.
Удаляет псевдонимы в условиях запросов удаления, так как большинство диалектов баз данных не поддерживают псевдонимы в запросах удаления. Это также удаляет псевдонимы в именах таблиц, поскольку они также часто не работают.
Мы намеренно не поддерживаем удаления с объединениями, так как они еще хуже поддерживаются.
Параметры
-
Cake\Database\Query$query Запрос для трансляции
Возвращает
Cake\Database\Query_expressionTranslators() protected
_expressionTranslators(): array<string>
Возвращает ассоциативный массив методов, которые преобразуют объекты Expression для соответствия конкретному диалекту SQL. Ключи — имена классов, значения — метод в этом классе.
Возвращает
array<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|nullinTransaction() public
inTransaction(): bool
Возвращает, активна ли транзакция для соединения.
Returns
boolisAutoQuotingEnabled() 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(Cake\Database\Query|string $query): Cake\Database\StatementInterface
Подготавливает SQL-запрос к выполнению
Parameters
-
Cake\Database\Query|string$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
Получить диалект схемы.
Используется пакетом {@link \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
$thissupports() public
supports(string $feature): bool
Возвращает, поддерживает ли драйвер функцию.
По умолчанию true для FEATURE_QUOTE и FEATURE_SAVEPOINT.
Parameters
-
string$feature
Returns
boolsupportsCTEs() public
supportsCTEs(): bool
Возвращает true, если сервер поддерживает общие табличные выражения.
Returns
boolsupportsDynamicConstraints() public
supportsDynamicConstraints(): bool
Возвращает, поддерживает ли драйвер добавление или удаление ограничений для уже созданных таблиц.
Возвращает
boolsupportsQuoting() public
supportsQuoting(): bool
Проверяет, поддерживает ли драйвер цитирование, так как PDO_ODBC его не поддерживает.
Возвращает
boolsupportsSavePoints() public
supportsSavePoints(): bool
Возвращает, поддерживает ли этот драйвер точки сохранения для вложенных транзакций.
Возвращает
boolversion() public
version(): string
Возвращает версию подключенного сервера.
Возвращает
stringПодробное описание свойств
$_autoQuoting protected
Указывает, выполняет ли драйвер автоматическое цитирование идентификаторов для всех запросов
Тип
bool$_baseConfig protected
Базовые параметры конфигурации для драйвера Sqlserver
Тип
array<string, mixed>$_config protected
Данные конфигурации.
Тип
array<string, mixed>$_connection protected
Экземпляр PDO.
Тип
PDO$_endQuote protected
Строка, используемая для завершения цитирования идентификаторов базы данных для повышения безопасности
Тип
string$_schemaDialect protected
Класс схемы диалекта для этого драйвера
Тип
Cake\Database\Schema\SqlserverSchemaDialect|null$_startQuote protected
Строка, используемая для начала цитирования идентификаторов базы данных для повышения безопасности
Тип
string$_version protected
Версия сервера
Тип
string|null$connectRetries protected
Последнее количество попыток повторного подключения.
Тип
int
© 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.3/class-Cake.Database.Driver.Sqlserver.html