realestateconz / mssql-bundle
Microsoft SQL Server Bundle for Symfony 2
Requires
- doctrine/common: ~2.2,>=2.2.3
This package is not auto-updated.
Last update: 2020-04-16 11:45:58 UTC
README
realestate.co.nz仍然使用此包,但它属于正在逐步淘汰的遗留代码。包的功能有限,已被Doctrine SQLServer支持所取代。
如果您需要Doctrine DBLib驱动程序,类似https://packagist.org.cn/packages/leaseweb/doctrine-pdo-dblib的包应该可以工作。
如果您希望继续使用此库,您可以将其分叉并自行维护。此包将不再进行进一步的开发。
安装
步骤1. 安装MssqlBundle
将realestate/mssql-bundle添加到composer.json
"require": {
....
"realestateconz/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. 启用包
最后,在kernel中启用该包
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Realestate\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的校对或ntext数据中不能将Unicode数据发送给使用DB-Library(如ISQL)或ODBC版本3.7或更早版本的客户端。
这意味着由于FTREETDS的不足,SQL Server无法将Unicode数据发送到FTREETDS。您必须将该数据CAST或CONVERT为等效的NVARCHAR数据类型,该数据类型不会表现出此行为。