cubrid_pconnect_with_url

(PECL CUBRID >= 8.3.1)

cubrid_pconnect_with_urlAbre uma conexão persistente com o servidor CUBRID

Descrição

cubrid_pconnect_with_url(string $conn_url, string $userid = ?, string $passwd = ?): resource

Estabelece uma conexão persistente com um servidor CUBRID.

cubrid_pconnect_with_url() funciona de forma muito similar a cubrid_connect_with_url() com duas diferenças principais.

Primeiro, ao conectar, a função tentará primeiro encontrar uma conexão (persistente) já aberta com o mesmo servidor, porta, nome do banco de dados e ID do usuário. Se for encontrada, um identificador será retornado em vez de abrir uma nova conexão.

Segundo, a conexão com o servidor SQL não será encerrada quando a execução do script terminar. Em vez disso, a conexão permanecerá aberta para uso futuro (cubrid_close() ou cubrid_disconnect() não fecharão conexões estabelecidas por cubrid_pconnect_with_url()).

Este tipo de conexão é, portanto, denominada '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 : Nome do servidor ou endereço IP do banco de dados mestre
  • db_name : Nome do banco de dados
  • db_user : Nome de usuário do banco de dados
  • db_password : Senha de usuário do banco de dados
  • alhosts : Especifica as informações do mediador do servidor reserva, que são usadas em caso de falha quando for impossível conectar-se ao servidor ativo. Pode-se especificar vários mediadores para casos de falha e a tentativa de conexão ao mediadores é realizada na ordem listada em "alhosts"
  • rctime : Um intervalo entre as tentativas de conexão ao mediador ativo no qual ocorreu a falha. Após ocorrer uma falha, o sistema se conecta ao mediador especificado por "althosts", encerra a transação e, em seguida, tenta se conectar ao mediador ativo do banco de dados mestre a cada "rctime". O valor padrão é 600 segundos.
  • login_timeout : Tempo limite (unidade: milissegundos) para se registrar no banco de dados. O padrão é 0, que significa infinito.
  • query_timeout : Tempo limite (unidade: milissegundos) para requisição de consulta. Quando o limite é atingido, é enviada uma mensagem para cancelamento de requisição da consulta transferida ao servidor. O valor de retorno vai depender da configuração disconnect_on_query_timeout; embora a mensagem para cancelar a requisição seja enviada ao servidor, a requisição poderá ser bem sucedida.
  • disconnect_on_query_timeout : Configura um valor para retornar imediatamente um erro de função sendo executada após o tempo limite. O padrão é "false".

Note:

? e : são usados como identificadores na URL de conexão do PHP e não podem ser incluídos na senha. O exemplo a seguir é uma senha inválida para URL de conexão por conter "?:".

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

Senhas que contêm ? ou : podem ser passadas como parâmetro separado.

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

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

Se o usuário ou a senha estiverem vazios, o caractere ":" não pode ser omitido, veja este exemplo:

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

Parâmetros

conn_url

Uma string contendo informação de conexão ao servidor.

userid

Nome de usuário para o banco de dados.

passwd

Senha do usuário.

Valor Retornado

Identificador da conexão em caso de sucesso, ou false em caso de falha.

Exemplos

Example #1 Exemplo de cubrid_pconnect_with_url() e URL sem propriedades

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

if ($con) {
    echo "conectado com sucesso";
    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);
}
?>

Example #2 Exemplo de cubrid_pconnect_with_url() e URL com propriedades

<?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 "conectado com sucesso";
    $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);
}
?>

Veja Também