Transacción MSSQL, error "linked server"

3429 visitas 1 respuestas

Hola de nuevo, volvemos a la carga con mssql, al final acabaremos aprendiendo y todo...

Tengo una funcion para insertar datos desde una web a un servidor MSSQL remoto. Esta es la función que empleo:

EXEC Reserva 'ZZZZ1','01/09/2011','08/09/2011','1500','1000000','','','','','','','','','','',''

Funciona correctamente cuando la ejecuto desde Microsoft SQL Server Management pero desde php, utilizando mssql_query y la misma query, me devuelve un error:

Error al Crear la Reserva nº 14482; The requested operation could not be performed because OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "PTOZAHARA" does not support the required transaction interface.

Por lo que he estado leyendo parece que falta alguna configuración en la DB del server. Como decía antes, el server es remoto, no tengo acceso a él más que lo que me proporciona Microsoft SQL Server Management. El servidor, por lo visto, funciona con una base de datos Paradox y tiene una especie de capa de abstracción o algo similar para MSSQL, supongo que esto es el "LINK" que tiene el server.

Busco alguna idea pra solucionar esto, bien sea atacando a mi script PHP o realizando alguna configuración en el servidor, pero no se por donde empezar. Gracias de ante mano :)

por desde España

Registrado desde: 22 Apr 05

Respuestas

0 0

Pongo el código PHP por si las moscas:

    <?
include '../lib/config.php';
include '../lib/funciones.php';
include '../lib/funciones.dad.php';

$con = mssql_connect(_msdb_server, _msdb_login, _msdb_pass);
if ($con) {

    mssql_select_db(_msdb_name, $con);
    $r = mssql_query ("SET ANSI_DEFAULTS ON", $con );
    mssql_query("SET DateFormat dmy", $con);

    $query = "EXEC Reserva 'ZZZZ1','01/09/2011','08/09/2011','1500','1000000','','','','','','','','','','',''";
    $sql = mssql_query($query);
    if ($sql) {
        echo 'ok: '.mssql_get_last_message().'
';
        $sql_ok = mssql_fetch_assoc($sql);
        var_dump($sql_ok);
    }else {
        echo 'error: '.mssql_get_last_message();
    }
}
?>

por desde España

Registrado desde: 22 Apr 05