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);
}
?>
                  
                

기타