[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

problemas freetds



hola lista,

tengo configurado un servidor apache 1.3 con el paquete freetds para
conectar base de datos sql server de windows.

El problema que tengo es que aparece este error a veces cuando conecto
con el usuario y contraseña a la aplicacion, este error sucede a veces y
no siempres:

Warning: 1 is not a Sybase link index in
/usr/local/apache/phplib/db_mssql.inc on line 82
Database error: Invalid SQL: update active_sessions set
val='TGFyaW9zTG9naXN0aWNhX1Nlc3Npb246JHRoaXMtPmluID0gJzEnOyAkdGhpcy0+cHQgPSBhcnJheSgpOyAkdGhpcy0+cHRbJ2F1dGgnXSA9ICcxJzsgJHRoaXMtPnB0WydjZXN0YSddID0gJzEnOyAkdGhpcy0+cHRbJ2luZm9TZXNpb24nXSA9ICcxJzsgJEdMT0JBTFNbJ2F1dGgnXSA9IG5ldyBMYXJpb3NMb2dpc3RpY2FfQXV0aERlZmF1bHQ7ICRHTE9CQUxTWydhdXRoJ10tPmF1dGggPSBhcnJheSgpOyAkR0xPQkFMU1snYXV0aCddLT5hdXRoWyd1aWQnXSA9ICc2MzU1MTFiNGZiZDA1ZTIyNzRiOWU5NTgwZDU3YTNiNic7ICRHTE9CQUxTWydhdXRoJ10tPmF1dGhbJ3Blcm0nXSA9ICdvcGVyJzsgJEdMT0JBTFNbJ2F1dGgnXS0+YXV0aFsnZXhwJ10gPSAnMjE0NzQ4MzY0Nyc7ICRHTE9CQUxTWydhdXRoJ10tPmF1dGhbJ3VuYW1lJ10gPSAnYWxjdWRpYSc7ICRHTE9CQUxTWydhdXRoJ10tPmF1dGhbJ3JlZnJlc2gnXSA9ICcyMTQ3NDgzNjQ3JzsgJEdMT0JBTFNbJ2Nlc3RhJ10gPSBuZXcgQ2VzdGFfQmFzZTsgJEdMT0JBTFNbJ2Nlc3RhJ10tPml0ZW0gPSBhcnJheSgpOyAkR0xPQkFMU1snY2VzdGEnXS0+Y3VycmVudEl0ZW0gPSAnMSc7ICRHTE9CQUxTWydpbmZvU2VzaW9uJ10gPSBuZXcgSW5mb1Nlc2lvbjsgJEdMT0JBTFNbJ2luZm9TZXNpb24nXS0+ZGF0YSA9IGFycmF5KCk7ICRHTE9CQUxTWydpbmZvU2VzaW9uJ10tPmRhdGFbJ2NfdXN1YXJpbyddID0gJyc7ICRHTE9CQUxTWydpbmZvU2VzaW9uJ10tPmRhdGFbJ2NfZ3J1cG8nXSA9ICcnOyAkR0xPQkFMU1snaW5mb1Nlc2lvbiddLT5kYXRhWydjX21hdGVyaWFsJ10gPSAnJzsgJEdMT0JBTFNbJ2luZm9TZXNpb24nXS0+ZGF0YVsnY19jbGF2ZSddID0gJyc7ICRHTE9CQUxTWydpbmZvU2VzaW9uJ10tPmRhdGFbJ2NfdGlwbyddID0gJyc7ICRHTE9CQUxTWydpbmZvU2VzaW9uJ10tPmRhdGFbJ2Jsb3F1ZSddID0gJyc7ICRHTE9CQUxTWydpbmZvU2VzaW9uJ10tPmRhdGFbJ2lkaW9tYSddID0gJyc7ICRHTE9CQUxTWydpbmZvU2VzaW9uJ10tPmRhdGFbJ21lbnNhamUnXSA9ICc8dGFibGUgY2xhc3M9XCdtZW5zYWplLXRhYmxhXCc+PHRyPjx0ZCBjbGFzcz1cJ21lbnNhamUtdGQtb2tcJz5CaWVudmVuaWRvIFRURVMuIE1BUklUSU1PUyBBTENVRElBLCBTLkEuPC90ZD48L3RyPgo8dHI+PHRkIGNsYXNzPVwnbWVuc2FqZS10ZC1va1wnPkhhIGNvbmVjdGFkbyBjb24gbGEgYmQuIGRlIFBlcm5vZCBSaWNhcmQgTG9nJmlhY3V0ZTtzdGljYTwvdGQ+PC90cj4KPC90YWJsZT4KJzsgJEdMT0JBTFNbJ2luZm9TZXNpb24nXS0+cGlsYVVybCA9IG5ldyBQaWxhOyAkR0xPQkFMU1snaW5mb1Nlc2lvbiddLT5waWxhVXJsLT5pbmRpY2UgPSAnMCc7ICRHTE9CQUxTWydpbmZvU2VzaW9uJ10tPnBpbGFVcmwtPmRhdGEgPSBhcnJheSgpOyAkR0xPQkFMU1snaW5mb1Nlc2lvbiddLT5waWxhVXJsLT5kYXRhWycwJ10gPSAnJzsg',
changed='20060124102051' where sid='4cb4a5a80f356d18d085c92fc9f3cb9d'
and name='Session' - Link-ID: 1 - Query-ID:
MSSQL Error: 1 (General Error (The MSSQL interface cannot return
detailed error messages).)
Session halted.

La variables del sybase las tengo así:
Sybase Support enabled
Allow Persistent Links No
Persistent Links 0/0
Total Links 0/unlimited
Application Name PHP 4.0
Client API Version $Id: dblib.c,v 1.160 2003/12/26 18:11:08 freddy77 Exp
$

En el fichero /usr/local/apache/phplib/db_mssql.inc tengo esto:

class DB_Sql {
  var $Host     = "";
  var $Database = "";
  var $User     = "";
  var $Password = "";

  var $Link_ID  = 0;
  var $Query_ID = 0;
  var $Record   = array();
  var $Row      = 0;

  var $Errno    = 0;
  var $Error    = "";

  var $Auto_Free = 0;     ## set this to 1 to automatically free results


  function connect() {
    if ( 0 == $this->Link_ID ) {
        //$cont = 0;
        //$max_conexiones = 50;
        //while ($cont < $max_conexiones) {
        //      $cont++;
              $this->Link_ID = mssql_connect($this->Host, $this->User,
$this->Password);
        //      if ($this->Link_ID) $cont = $max_conexiones;
        //}


      if (!$this->Link_ID)
        $this->halt("Link-ID == false, mssql_connect failed... ");
      else
        mssql_select_db($this->Database, $this->Link_ID);
    }
  }

  function free_result(){
          mssql_free_result($this->Query_ID);
        $this->Query_ID = 0;
  }

  function query($Query_String) {
    if (!$this->Link_ID)
        $this->connect();

   //printf("<br>Debug: query = %s<br>\n", $Query_String);

    $this->Query_ID = sybase_query($Query_String, $this->Link_ID);
$this->Row = 0;

    if (!$this->Query_ID) {
      $this->Errno = 1;
      $this->Error = "General Error (The MSSQL interface cannot return
detailed error messages).";
      $this->halt("Invalid SQL: ".$Query_String." - Link-ID:
$this->Link_ID - Query-ID: $this->Query_ID");
    }
....
....
etc

Alguna idea, ya no se que mirar o probar con pconnect.
Gracias por todo.
Un saludo.





Reply to: