$drivers["mssql"] = "MS SQL";
if (isset($_GET["mssql"])) {
- $possible_drivers = array("SQLSRV", "MSSQL");
+ $possible_drivers = array("SQLSRV", "MSSQL", "PDO_DBLIB");
define("DRIVER", "mssql");
if (extension_loaded("sqlsrv")) {
class Min_DB {
}
}
- }
+ } elseif (extension_loaded("pdo_dblib")) {
+ class Min_DB extends Min_PDO {
+ var $extension = "PDO_DBLIB";
+
+ function connect($server, $username, $password) {
+ $this->dsn("dblib:charset=utf8;host=" . str_replace(":", ";unix_socket=", preg_replace('~:(\\d)~', ';port=\\1', $server)), $username, $password);
+ return true;
+ }
+ function select_db($database) {
+ // database selection is separated from the connection so dbname in DSN can't be used
+ return $this->query("USE " . idf_escape($database));
+ }
+ }
+ }
class Min_Driver extends Min_SQL {
auth_error($ex->getMessage());
}
$this->setAttribute(13, array('Min_PDOStatement')); // 13 - PDO::ATTR_STATEMENT_CLASS
- $this->server_info = $this->getAttribute(4); // 4 - PDO::ATTR_SERVER_VERSION
+ $this->server_info = @$this->getAttribute(4); // 4 - PDO::ATTR_SERVER_VERSION
}
/*abstract function select_db($database);*/