cubrid_pconnect_with_url
(PECL CUBRID >= 8.3.1)
cubrid_pconnect_with_url — Abre uma conexão persistente com o servidor CUBRID
Descrição
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
- cubrid_connect() - Abre uma conexão a um servidor CUBRID
- cubrid_connect_with_url() - Prepara o ambiente para conexão ao servidor CUBRID
- cubrid_pconnect() - Abre uma conexão persistente a um servidor CUBRID
- cubrid_disconnect() - Fecha uma conexão ao banco de dados
- cubrid_close() - Fecha conexão CUBRID