Originariamente inviato da RoTeam
Dubito di poterti aiutare allora in tale casino, good luck
La classe è la seguente:

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..