cubrid_connect_with_url
(PECL CUBRID >= 8.3.1)
cubrid_connect_with_url — Prepara o ambiente para conexão ao servidor CUBRID
Descrição
string
$conn_url
,string
$userid
= ?,string
$passwd
= ?,bool
$new_link
= false
): resource
A função cubrid_connect_with_url() é usada para estabelecer o ambiente para conexão ao servidor usando informação passada por um argumento URL no formato string. Se o recurso HA estiver habilitado no CUBRID, é necessário especificar a informação de conexão do servidor reserva, que é usado em caso de falha, na string do argumento de URL desta função. Se o usuário e a senha não forem informados, a conexão "PUBLIC" será realizada por padrão.
<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_connect_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.
new_link
Se uma segunda chamada for feita a cubrid_connect_with_url() com os mesmos argumentos, nenhuma nova conexão será estabelecida, mas em vez disso, o identificador da conexão já aberta será retornado. O parâmetro
new_link
modifica este comportamento e faz com que cubrid_connect_with_url() sempre abra uma nova conexão, mesmo que cubrid_connect_with_url() tenha sido chamada antes com os mesmos parâmetros.
Valor Retornado
Identificador da conexão em caso de sucesso, ou false
em caso de falha.
Exemplos
Example #1 Exemplo de cubrid_connect_with_url() e URL sem propriedades
<?php
$conn_url = "CUBRID:localhost:33000:demodb:dba::";
$con = cubrid_connect_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_connect_with_url() e URL com propriedades
<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::?login_timeout=100";
$con = cubrid_connect_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);
}
?>
Veja Também
- cubrid_connect() - Abre uma conexão a um servidor CUBRID
- cubrid_pconnect() - Abre uma conexão persistente a um servidor CUBRID
- cubrid_pconnect_with_url() - Abre uma conexão persistente com o servidor CUBRID
- cubrid_disconnect() - Fecha uma conexão ao banco de dados
- cubrid_close() - Fecha conexão CUBRID