prefeituravitoria/mssql-bundle

该包已被弃用,不再维护。未建议替代包。

Symfony 2 的 Microsoft SQL Server Bundle

安装: 92

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分叉: 66

类型:symfony-bundle

2.2.1 2015-02-23 12:46 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:46:59 UTC


README

步骤 1. 安装 MssqlBundle

prefeituravitoria/mssql-bundle 添加到 composer.json

"require": {
    ....
    "prefeituravitoria/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:   Realestate\MssqlBundle\Driver\PDODblib\Driver
                host:           %database_host%
                dbname:         %database_prefix%%database_name%
                user:           %database_user%
                password:       %database_password%

步骤 3. 启用 Bundle

最后,在 Kernel 中启用 Bundle

<?php
// app/AppKernel.php

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

注意

先决条件

Microsoft SQL Server 2012。

此驱动程序需要版本 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 数据类型,该数据类型不会表现出这种行为。