我知道有很多与此相关的问题,但我没有找到我问题的答案,我使用的是Laravel 4,我绝对必须使用MS SQL SERVER 2000。在Windows Server 2000上,我使用PHP 5.4。X或更大。我发现MS不提供对msql 2000的支持,我已经解决了ODBC驱动程序的问题,但我的问题是:我是否有办法告诉Laravel使用ODBC驱动程序而不进行广泛的配置?还是我应该自己实现?
在config/database.php中,fetch使用PDO::FETCH_CLASS,但odbc不是PDO,尽管在PHP手册中有一个odbc和DB2 (PDO)…任何想法吗?
我通过使用PDO ODBC Driver制作自己的实现并将我的类添加到编写器来解决这个问题。Json以便在任何地方使用它们
<?php
class SqlServerPdo {
private static $dbName = 'dbName' ;
private static $dbHost = '127.0.0.1';
private static $dbUsername = 'username';
private static $dbUserPassword = 'password';
private static $conn = null;
public function __construct() {
die('Init function is not allowed');
}
public static function connect() {
// One connection through whole application
if ( null == self::$conn ) {
try {
self::$conn = new PDO("odbc:Driver={SQL Server};Server=SERVER-NAME;Database=" . self::$dbName . ";User Id=" . self::$dbUsername . ";Password=" . self::$dbUserPassword . ";");
} catch(PDOException $e) {
die($e->getMessage());
}
}
return self::$conn;
}
public static function disconnect() {
self::$conn = null;
}
}