codeneuss/mssql-bundle

Microsoft SQL Server Bundle for Symfony 2

安装: 152

依赖: 0

建议者: 0

安全性: 0

星标: 0

关注者: 0

分支: 63

类型:symfony-bundle

2.4 2018-01-04 09:55 UTC

This package is not auto-updated.

Last update: 2024-09-20 23:58:04 UTC


README

这是一个 realestate/mssql-bundle 的分支。该分支未得到完全维护。

原始声明:realestate.co.nz 仍在使用此组件,但它处于正在淘汰的遗留代码中。该组件的功能有限,已被 Doctrine SQLServer 支持。

如果您需要 Doctrine DBLib 驱动,像 https://packagist.org.cn/packages/leaseweb/doctrine-pdo-dblib 这样的东西应该可以工作。

如果您希望继续使用这个库,您可以创建分支并自行维护。这个组件将不再进一步开发。

安装

步骤 1. 安装 MssqlBundle

codeneuss/mssql-bundle 添加到 composer.json

"require": {
    ....
    "codeneuss/mssql-bundle": "master-dev"
},

然后运行

$ php composer.phar install

步骤 2. 配置 DBAL 的连接以使用 MssqlBundle

在 config.yml 中,移除 "driver" 参数,并添加 "driver_class" 参数代替

doctrine:
    dbal:
        default_connection:     default
        connections:
            default:
                driver_class:   Codeneuss\MssqlBundle\Driver\PDODblib\Driver
                host:           %database_host%
                dbname:         %database_prefix%%database_name%
                user:           %database_user%
                password:       %database_password%

步骤 3. 启用组件

最后,在 kernel 中启用组件

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new Codeneuss\MssqlBundle\RealestateMssqlBundle(),
    );
}

注意

先决条件

此驱动程序需要版本 8.0(来自 http://www.ubuntitis.com/?p=64),因为默认的 4.2 版本不支持 UTF

在 /etc/freetds/freetds.conf 中,将 tds version = 4.2 改为 tds version = 8.0

NVARCHAR & NTEXT 数据类型

NVARCHAR & NTEXT 不受支持。在 SQL 2000 SP4 或更高版本,SQL 2005 或 SQL 2008 中,如果您执行一个返回 NTEXT 类型数据的查询,您可能会遇到以下异常:_mssql.MssqlDatabaseError: SQL Server 信息 4004,严重性 16,状态 1,行 1:Unicode 数据在只允许 Unicode 的排序规则或 ntext 数据无法发送到使用 DB-Library(如 ISQL)或 ODBC 版本 3.7 或更早版本的客户端。

这意味着由于 FTREETDS 的缺陷,SQL Server 无法将 Unicode 数据发送到 FTREETDS。您必须将数据 CAST 或 CONVERT 到等效的 NVARCHAR 数据类型,它不会表现出这种行为。