Codice PHP:
class SqlsrvManager extends MssqlManager
{
public $dbName = 'SQL Server';
public $variant = 'sqlsrv';
public $priority = 10;
public $label = 'LBL_MSSQL_SQLSRV';
protected $capabilities = array(
"affected_rows" => true,
'fulltext' => true,
'limit_subquery' => true,
'create_user' => true,
"create_db" => true,
);
protected $type_map = array(
'int' => 'int',
'double' => 'float',
'float' => 'float',
'uint' => 'int',
'ulong' => 'int',
'long' => 'bigint',
'short' => 'smallint',
'varchar' => 'nvarchar',
'text' => 'nvarchar(max)',
'longtext' => 'nvarchar(max)',
'date' => 'datetime',
'enum' => 'nvarchar',
'relate' => 'nvarchar',
'multienum'=> 'nvarchar(max)',
'html' => 'nvarchar(max)',
'longhtml' => 'nvarchar(max)',
'datetime' => 'datetime',
'datetimecombo' => 'datetime',
'time' => 'datetime',
'bool' => 'bit',
'tinyint' => 'tinyint',
'char' => 'char',
'blob' => 'nvarchar(max)',
'longblob' => 'nvarchar(max)',
'currency' => 'decimal(26,6)',
'decimal' => 'decimal',
'decimal2' => 'decimal',
'id' => 'varchar(36)',
'url' => 'nvarchar',
'encrypt' => 'nvarchar',
'file' => 'nvarchar',
'decimal_tpl' => 'decimal(%d, %d)',
);
/**
* @see DBManager::connect()
*/
public function connect(array $configOptions = null, $dieOnError = false)
{
global $sugar_config;
if (is_null($configOptions))
$configOptions = $sugar_config['dbconfig'];
//set the connections parameters
$connect_param = '';
$configOptions['db_host_instance'] = trim($configOptions['db_host_instance']);
if (empty($configOptions['db_host_instance']))
$connect_param = $configOptions['db_host_name'];
else
$connect_param = $configOptions['db_host_name']."\\".$configOptions['db_host_instance'];
/*
* Don't try to specifically use a persistent connection
* since the driver will handle that for us
*/
$options = array(
"UID" => $configOptions['db_user_name'],
"PWD" => $configOptions['db_password'],
"CharacterSet" => "UTF-8",
"ReturnDatesAsStrings" => true,
"MultipleActiveResultSets" => true,
);
if(!empty($configOptions['db_name'])) {
$options["Database"] = $configOptions['db_name'];
}
$this->database = sqlsrv_connect($connect_param, $options);
if(empty($this->database)) {
$GLOBALS['log']->fatal("Could not connect to server ".$configOptions['db_host_name']." as ".$configOptions['db_user_name'].".");
if($dieOnError) {
if(isset($GLOBALS['app_strings']['ERR_NO_DB'])) {
sugar_die($GLOBALS['app_strings']['ERR_NO_DB']);
} else {
sugar_die("Could not connect to the database. Please refer to sugarcrm.log for details.");
}
} else {
return false;
}
}
.............
...........
............
Questa è una parte..