Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.3.0 |  CUBRID 8.3.1 |  CUBRID 8.4.0 |  CUBRID 8.4.1 |  CUBRID 8.4.3 |  CUBRID 9.0.0 | 



cci_connect_with_url

Description

The cci_connect_with_url function connects a database by using connection information passed with a url string argument. If CUBRID HA is enabled in CCI, you must specify the connection information of the standby server, which is used for failover when failure occurs, in the url string argument of this function. If it has succeeded, the ID of connection handle is returned; if it fails, an error code is returned.

Syntax

int cci_connect_with_url (char *url [, char *db_user, char *db_password ])

 

<url> ::=

cci:CUBRID:<host>:<db_name>:<db_user>:<db_password>:[?<properties>]

 

<properties> ::= <property> [&<property>]

<property> ::= autocommit=<autocommit_mode>

<property> ::= althosts=<alternative_hosts> [ &rctime=<time>]

<property> ::= login_timeout=<milli_sec>

<property> ::= query_timeout=<milli_sec>

<property> ::= disconnect_on_query_timeout=true|false

 

<alternative_hosts> ::= <host>:<port> [,<host>:<port>]

 

<host> := HOSTNAME | IP_ADDR

<time> := SECOND

<milli_sec> := MILLI SECOND

  • url : (IN) A character string that contains server connection information
    • host : A host name or IP address of the master database
    • db_name : A name of the database
    • db_user : A name of the database user
    • db_password : A database user password
    • autocommit=true/false : Configures the value of auto-commit upon database connection
    • althosts=standby_broker1_host, standby_broker2_host, . . . : Specifies the broker information of the standby server, which is used for failover when it is impossible to connect to the active server. You can specify multiple brokers for failover, and the connection to the brokers is attempted in the order listed in alhosts.
    • rctime : An interval between the attempts to connect to the active broker in which failure occurred. After a failure occurs, the system connects to the broker specified by althosts (failover), terminates the transaction, and then attempts to connect to the active broker of the master database at every rctime. The default value is 600 seconds.
    • login_timeout : Timeout value (unit: msec.) for database login. Upon timeout, a CCI_ER_LOGIN_TIMEOUT error is returned. The default value is 0, which means infinite postponement. 
    • query_timeout : Timeout value (unit: msec.) for query request. Upon timeout, a message to cancel requesting a query transferred to server is sent. The return value can depend on the disconnect_on_query_timeout configuration; even though the message to cancel a request is sent to server, that request may succeed.
    • disconnect_on_query_timeout : Configures a value whether to immediately return an error of function being executed upon timeout. The default value is false. When timeout for query request occurs and it this value is true, a CCI_ER_QUERY_TIMEOUT error is returned after a cancellation message is sent and a socket is closed. In this case, a user must explicitly terminate database connection by using the cci_disconnect function. If the value is false, it waits until a response for query request from a server after a cancellation is sent.
  • db_user : (IN) A name of the database user
  • db_passwd : (IN) A database user password
Return Value
  • Success : Connection handle ID (int)
  • Failure : Error code
Error Codes
  • CCI_ER_NO_MORE_MEMORY
  • CCI_ER_HOSTNAME
  • CCI_ER_INVALID_URL
  • CCI_ER_CON_HANDLE
  • CCI_ER_CONNECT
  • CCI_ER_DBMS
  • CCI_ER_COMMUNICATION
  • CCI_ER_LOGIN_TIMEOUT
Example

--connection URL string when a property(althosts) specified for HA

URL=cci:CUBRID:192.168.0.1:33000:demodb:::?althosts=192.168.0.2:33000,192.168.0.3:33000

 

--connection URL string when properties(althosts,rctime) specified for HA

URL=cci:CUBRID:192.168.0.1:33000:demodb:::?althosts=192.168.0.2:33000,192.168.0.3:33000&rctime=600

Remark

Because a colon (:) and a question mark (?) are used as a separator in URL string, it is not allowed to include them for password of URL string. To use them, you must specify a user name (db_user) and a password (db_passwd) as a separate parameter.