kokspflanze/pdo-dblib-module
Composer 安装命令:
composer require kokspflanze/pdo-dblib-module
包简介
MSSQL dbib module for zf
README 文档
README
PDO DBlib Module for Zend 2
Introduction
Doctrine 2 does support any method of connecting to SQL Server on a Linux box. Here's a simple driver that supports PDO DBlib. Many tests fail, but most are related to shortcomings of the PDODBlib driver. There is a patch in the PHP repo to add transaction and lastInsertId support, but this package has some minor work arounds.
Dependecies
- pdo_dblib
- FreeTDS
- DoctrineModule
- DoctrineORMModule
For Symphony Bundle: [PDODblibBundle] (https://github.com/trooney/PDODblibBundle) (latest master)
FreeTDS configuration
DBLib requires FreeTDS. We can't go into detail about configuring FreeTDS, but the connection configured should look something like following:
[mssql_freetds]
host = 172.30.252.25
port = 1433
tds version = 8.0
client charset = UTF-8
text size = 20971520
Installing
With composer
-
Add this in your composer.json:
"require": { "mabuzagu/pdo-dblib-module": "dev-master", }
-
Now tell composer to download PDODblibModule by running the command:
$ php composer.phar update
Post Installation
-
Enabling it in your
application.config.phpfile.<?php return array( 'modules' => array( // ... 'DoctrineModule', 'DoctrineORMModule', 'PDODblibModule', ), // ... );
-
Add this to your autoload folder
<?php return array( 'doctrine' => array( 'connection' => array( 'orm_default' => array( 'driverClass' => 'PDODblibModule\Doctrine\DBAL\Driver\PDODblib\Driver', 'params' => array( 'host' => '<host>', 'port' => '<port>', 'user' => '<user>', 'password' => '<password>', 'dbname' => '<dbname>', ) ) ) ), );
Putting everything together
Getting everything together wasn't easy. You need to complete the following steps, checking each installation is successful by connecting with the appropriate tools:
- Install FreeTDS and configure a server connection
- Verify with ./tsql -S mssql_freetds -U yourusername -P yourpassword
- Install the PHP DBLib extension -- verify with PHP script containing
- Verify $pdo = new PDO('dblib:host=mssql_freetds;dbname=yourdb', 'yourusername', 'yourpassword');
- Install and configure the PDODblibBundle
- Verify Some kind of SQL against your database
FYI - PHP pdo_dblib patch
You can find a patch for some of the short-comings of pdo_dblib on SVN.
http://svn.php.net/viewvc/php/php-src/trunk/ext/pdo_dblib/dblib_driver.c?view=log
See: Revision 300647 - lastInsertId Revision 300628 - transaction support
FYI - Doctrine Test Suite
Doctrine2's test suite does not allow you to add database drivers on the fly. If you want to test this package, modify Doctrine/DBAL/Driver/DriverManager::$_driverMap as follows:
final class DriverManager { private static $_driverMap = array( /* ... snip ... */ 'pdo_dblib' => 'Doctrine\DBAL\Driver\PDODblib\Driver', ); }
FYI - Generating Entities from database
It's possible, but not easy. Here's what I did:
- Map any non-compatible column types to string
- Hack the Doctrine core to skip any tables without primary keys
kokspflanze/pdo-dblib-module 适用场景与选型建议
kokspflanze/pdo-dblib-module 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.34k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2016 年 08 月 09 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「mssql」 「zf」 「dblib」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 kokspflanze/pdo-dblib-module 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 kokspflanze/pdo-dblib-module 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 kokspflanze/pdo-dblib-module 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Library for support of the pdo_dblib (MSSQL) driver in Doctrine
Dibi is Database Abstraction Library for PHP
MSSQL dbib module for zf
CakePHP plugin to handle PDO MSSQL Connections using dblib
Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.
Library for support of the pdo_dblib (MSSQL) driver in Doctrine
统计信息
- 总下载量: 1.34k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2016-08-09