cubrid_pconnect_with_url

(PECL CUBRID >= 8.3.1)

cubrid_pconnect_with_urlAbrir una conexión persistente al servidor CUBRID

Descripción

cubrid_pconnect_with_url ( string $conn_url [, string $userid [, string $passwd ]] ) : resource

Establece una conexión persistente a un servidor CUBRID.

cubrid_pconnect_with_url() actúa de manera muy similar a cubrid_connect_with_url() con dos diferencias importantes.

Primera, al conectar, la función intenta encontrar un enlace (persistente) que ya estuviera abierto con el mismo host, puerto, nombre de base de datos e id de usuario. Si se encuentra uno, se devolverá un identificador para él en lugar de abrir una nueva conexión.

Segunda, la conexión al servidor SQL no se cerrará cuando la ejecución del script termine. En su lugar, el enlace permanece abierto para usos futuros (cubrid_close() o cubrid_disconnect() no cerrarán enlaces establecido por cubrid_pconnect_with_url()).

Por eso a este tipo de enlace se le llama 'persistente'.

<url> ::= CUBRID:<host>:<db_name>:<db_user>:<db_password>:[?<properties>]

<properties> ::= <property> [&<property>]

<properties> ::= alhosts=<alternative_hosts>[ &rctime=<time>]

<properties> ::= login_timeout=<milli_sec>

<properties> ::= query_timeout=<milli_sec>

<properties> ::= disconnect_on_query_timeout=true|false

<alternative_hosts> ::= <standby_broker1_host>:<port> [,<standby_broker2_host>:<port>]

<host> := HOSTNAME | IP_ADDR

<time> := SECOND

<milli_sec> := MILLI SECOND

  • host : Un nombre de host o dirección IP de la base de datos maestra
  • db_name : Un nombre de la base de datos
  • db_user : Un nombre del usuario de la base de datos
  • db_password : Una contraseña de usuario de la base de datos
  • alhosts: Especifica la información del agente del servidor de emergencia, el cual se usa para la recuperación de fallos cuando es imposible conectar al servidor activo. Se pueden especificar múltiples agentes para la recuperación de fallos, y la conexión a los agentes se intenta en el orden listado en alhosts
  • rctime : Un intervalo entre los intentos de conexión al agente activo en el que ocurrió el fallo. Después de que ocurra un fallo, el sistema se conecta al agente especificado por althosts (recuperación de fallos), finaliza la transacción, y después intenta conectarse al agente activo de la base de datos maestra cada rctime. El valor predeterminado es 600 segundos.
  • login_timeout : Valor de tiempo de espera (unidad: mseg.) para la identificación en la base de datos. El valor predeterminado es 0, lo que significa un aplazamiento infinito.
  • query_timeout : Valor de tiempo de espera (unidad: mseg.) para la solicitud de consulta. Cuando finaliza el tiempo de espera, se envía al servidor un mensaje para cancelar la transferencia de la consulta. El valor devuelto puede depender de de la configuración de disconnect_on_query_timeout; incluso si el mensaje para cancelar una petición es enviado al servidor, tal peticioón puede realizarse.
  • disconnect_on_query_timeout : Configura un valor para establecer si devolver inmediantamente un error de función que está siendo ejecutada al finalizar el tiempo de espera. El valor predeterminado es false.

Nota:

? y :, que son usados como identificadores en el URL de conexión de PHP, no pueden ser incluidos en la contraseña. El siguiente es un ejemplo de una contraseña que no es válida para usarla como URL de conexión ya que contiene "?:".

$url = "CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100";

Las contraseñas que contengan ? o : se pueden pasar como un parámetro aparte.

$url = "CUBRID:localhost:33000:tbd:::?login_timeout=100";

$conn = cubrid_pconnect_with_url ($url, "dba", "12?");

Si el usuario o la contraseña están vacíos no se podrá borrar ":". He aquí un ejemplo:

$url = "CUBRID:localhost:33000:demodb:::";

Parámetros

conn_url

Una cadena de caracteres que contiene la información de conexión al servidor.

userid

El nombre de usuario de la base de datos.

passwd

La contraseña del usuario.

Valores devueltos

El identificador de conexión, cuando el proceso tiene éxito.

FALSE, cuando el proceso no tiene éxito.

Ejemplos

Ejemplo #1 Ejemplo de url de cubrid_pconnect_with_url() sin propiedades

<?php
$conn_url 
"CUBRID:127.0.0.1:33000:demodb:dba::"
$con cubrid_pconnect_with_url ($conn_url);

if (
$con) {
   echo 
"Se conectó con éxito";
   
cubrid_execute($con"create table person(id int,name char(16))");
   
$req =cubrid_execute($con"insert into person values(1,'James')");

   if (
$req) {
      
cubrid_close_request ($req);
      
cubrid_commit ($con);
   } else {
      
cubrid_rollback ($con);
   }
   
cubrid_disconnect ($con);
}
?>

Ejemplo #2 Ejemplo de url de cubrid_pconnect_with_url() con propiedades

<?php
$conn_url 
"CUBRID:127.0.0.1:33000:demodb:dba::?althost=10.34.63.132:33088&rctime=100"
$con cubrid_pconnect_with_url ($conn_url);

if (
$con) {
   echo 
"Se conectó con éxito";
   
$req =cubrid_execute($con"insert into person values(1,'James')");

   if (
$req) {
      
cubrid_close_request ($req);
      
cubrid_commit ($con);
   } else {
      
cubrid_rollback ($con);
   }
   
cubrid_disconnect ($con);
}
?>

Ver también