cubrid_connect_with_url
(PECL CUBRID >= 8.3.1)
cubrid_connect_with_url — CUBRID 서버에 접속하기 위한 환경 설정
설명
cubrid_connect_with_url( string $conn_url, string $userid = ?, string $passwd = ?, bool $new_link = false ): resource
cubrid_connect_with_url() 함수는 url 문자열 인수로 전달된 연결 정보를 이용하여 서버에 연결하기 위한 환경을 설정하는 데 사용된다. CUBRID에서 HA 기능이 활성화된 경우 이 함수의 url string 인수에 장애 발생 시 장애 조치에 사용되는 대기 서버의 연결 정보를 지정해야 한다. 사용자 이름과 암호를 지정하지 않으면 기본적으로 "PUBLIC" 연결이 설정됩니다.
<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 : 마스터 데이터베이스의 호스트 이름 또는 IP 주소
- db_name : 데이터베이스의 이름
- db_user : 데이터베이스 사용자의 이름
- db_password : 데이터베이스 사용자 암호
- alhosts : Active 서버에 접속이 불가능한 경우 Failover에 사용하는 Standby 서버의 브로커 정보를 지정한다. Failover를 위해 여러 브로커를 지정할 수 있으며 alhosts에 나열된 순서대로 브로커에 연결을 시도합니다.
- rctime : 장애가 발생한 활성 브로커에 대한 연결 시도 사이의 간격입니다. 장애가 발생하면 시스템은 althosts가 지정한 브로커에 접속(failover)하고 트랜잭션을 종료하고 매 rctime마다 마스터 데이터베이스의 활성 브로커에 접속을 시도한다. 기본값은 600초입니다.
- login_timeout : 데이터베이스 로그인에 대한 타임아웃 값(단위: msec.)입니다. 기본값은 0으로 무한 연기를 의미합니다.
- query_timeout : 쿼리 요청에 대한 타임아웃 값(단위: msec.)입니다. 타임아웃 시 서버로 전달된 쿼리 요청을 취소하라는 메시지를 보낸다. 반환 값은 disconnect_on_query_timeout 구성에 따라 다를 수 있습니다. 요청을 취소하라는 메시지가 서버로 전송되더라도 해당 요청은 성공할 수 있습니다.
- disconnect_on_query_timeout : 타임아웃 시 실행 중인 함수의 오류를 즉시 반환할지 여부를 설정합니다. 기본값은 false입니다.
메모:
?
및 :
PHP 연결 URL에서 식별자로 사용되는 것은 비밀번호에 포함될 수 없습니다. 다음은 "?:
"가 포함되어 있어 연결 URL로 사용할 수 없는 비밀번호의 예입니다.
$url = "CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100";
?
가 포함된 비밀번호 또는 :
별도의 매개변수로 전달될 수 있습니다.
$url = "CUBRID:localhost:33000:tbd:::?login_timeout=100";
$conn = cubrid_connect_with_url($url, "dba", "12?");
사용자 또는 비밀번호가 비어 있는 경우 ":
"를 삭제할 수 없습니다. 다음은 예시입니다.
$url = "CUBRID:localhost:33000:demodb:::";
매개변수
conn_identifier
- 서버 연결 정보가 포함된 문자열입니다.
userid
- 데이터베이스의 사용자 이름입니다.
passwd
- 사용자 암호.
new_link
- 동일한 인수로 cubrid_connect_with_url()을 두 번째 호출하면 새로운 연결이 설정되지 않고 이미 열려 있는 연결의 연결 식별자가 반환된다.
new_link
매개변수는 이러한 동작을 수정하여 cubrid_connect_with_url()이 이전에 동일한 매개변수로 호출되었더라도 cubrid_connect_with_url()이 항상 새로운 연결을 열도록 한다.
반환 값
프로세스가 성공하면 연결 식별자이고 실패하면 false
입니다.
Examples
예제 #1 속성이 없는 cubrid_connect_with_url() url 예제
<?php
$conn_url = "CUBRID:localhost:33000:demodb:dba::";
$con = cubrid_connect_with_url($conn_url);
if ($con) {
echo "connected successfully";
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);
}
?>
예제 #2 속성이 있는 cubrid_connect_with_url() url 예제
<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::?login_timeout=100"
$con = cubrid_connect_with_url ($conn_url);
if ($con) {
echo "connected successfully";
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);
}
?>
기타
- cubrid_connect() - CUBRID 서버에 대한 연결 열기
- cubrid_pconnect() - CUBRID 서버에 대한 영구 연결 열기
- cubrid_pconnect_with_url() - CUBRID 서버에 대한 영구 연결 열기
- cubrid_disconnect() - 데이터베이스 연결 닫기
- cubrid_close() - CUBRID 연결 닫기