PHP.mk документација

db2_pconnect

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.db2-pconnect.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.db2-pconnect.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
db2_pconnect

Референца за `function.db2-pconnect.php` со подобрена типографија и навигација.

function.db2-pconnect.php

db2_pconnect

(PECL ibm_db2 >= 1.0.0)

db2_pconnect Returns a persistent connection to a database

= NULL

db2_pconnect(
         string $database,
         ?string $username,
         ?string $password,
         array $options = []
): resource|false

Returns a persistent connection to an IBM DB2 Universal Database, IBM Cloudscape, or Apache Derby database.

For more information on persistent connections, refer to Упорни врски со базата на податоци.

Повикување db2_close() on a persistent connection always returns true, but the underlying DB2 client connection remains open and waiting to serve the next matching db2_pconnect() request.

Users running version 1.9.0 or later of ibm_db2 should be aware that the extension will perform a transaction rollback on persistent connections at the end of a request, thus ending the transaction. This prevents the transaction block from carrying over to the next request which uses that connection if script execution ends before the transaction block does.

Параметри

database
За каталогизирана врска до база на податоци, database ја претставува алијасот на базата на податоци во каталогот на клиентот DB2.

За некатализирана врска до база на податоци, database ја претставува целосната низа за поврзување во следниот формат:

DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password;

Забелешка:

При поврзување со Db2 на IBM i, основните системски повици » SQLDriverConnect, кој прифаќа само DSN, UID и PWD за » низа за поврзување. Вака:

DSN=database;UID=username;PWD=password;
каде што параметрите ги претставуваат следните вредности:
database
Името на базата на податоци.
hostname
Име на хост или IP адреса на серверот на базата на податоци.
port
TCP/IP портата на која базата на податоци слуша за барања.
username
Корисничкото име со кое се поврзувате на базата на податоци.
password
Лозинката со која се поврзувате на базата на податоци.
username
Корисничкото име со кое се поврзувате на базата на податоци.
password
Лозинката со која се поврзувате на базата на податоци.
options

Асоцијативен список на опции за поврзување што влијаат на однесувањето на врската, каде што валидните клучеви на списокот вклучуваат:

autocommit
Поминување на DB2_AUTOCOMMIT_ON value turns autocommit on for this connection handle. Поминување на DB2_AUTOCOMMIT_OFF вредноста го вклучува авто-комитирањето за оваа конекција.
DB2_ATTR_CASE
Поминување на DB2_CASE_NATURAL вредноста го исклучува авто-комитирањето за оваа конекција. Поминување на DB2_CASE_LOWER вредноста специфицира дека имињата на колоните се враќаат во природна големина. Поминување на DB2_CASE_UPPER вредноста специфицира дека имињата на колоните се враќаат со мали букви.
CURSOR
Поминување на DB2_FORWARD_ONLY вредноста специфицира дека имињата на колоните се враќаат со големи букви. Поминување на DB2_SCROLLABLE вредноста специфицира курсор само за напред за ресурс на изјава. Овој тип на курсор е стандарден и поддржан на сите серверски бази на податоци.

вредноста специфицира курсор што може да се скрола за ресурс на изјава. Овој режим овозможува случаен пристап до редовите во сет на резултати, но моментално е поддржан само од IBM DB2 Universal Database.

trustedcontext
Следната нова опција е достапна во верзијата ibm_db2 1.7.0 и понова. db2_set_option(). Поминувањето на вредноста DB2_TRUSTED_CONTEXT_ENABLE го вклучува доверливиот контекст за оваа конекција. Овој параметар не може да се постави со користење на Овој клуч работи само ако базата на податоци е каталогизирана (дури и ако базата на податоци е локална), или ако го специфицирате целосниот DSN кога ја креирате врската.
db2 catalog tcpip node loopback remote <SERVERNAME> server <SERVICENAME>
db2 catalog database <LOCALDBNAME> as <REMOTEDBNAME> at node loopback
db2 "update dbm cfg using svcename <SERVICENAME>"
db2set DB2COMM=TCPIP

За да ја каталогизирате базата на податоци, користете ги следните команди:

Совети

Conflicting connection attributes used in conjunction with persistent connections can produce indeterminate results on i5/OS. Site policies should be establish for all applications using each persistent connection user profile. The default DB2_AUTOCOMMIT_ON is suggested when using persistent connections.

i5_lib
Следните нови опции за i5/OS се достапни во верзијата ibm_db2 1.5.1 и понова.
i5_naming
DB2_I5_NAMING_ON Вредност од тип карактер што укажува на стандардната библиотека што ќе се користи за решавање на неквалификувани референци на датотеки. Ова не е валидно ако врската користи режим на именување на системот. DB2_I5_NAMING_OFF вредноста го вклучува режимот на именување на системот DB2 UDB CLI iSeries. Датотеките се квалификуваат со користење на разделувачот коса црта (/). Неквалификуваните датотеки се решаваат со користење на списокот на библиотеки за задачата.
i5_commit

На i5_commit вредноста го исклучува стандардниот режим на именување DB2 UDB CLI, кој е SQL именување. Датотеките се квалификуваат со користење на разделувачот точка (.). Неквалификуваните датотеки се решаваат со користење на стандардната библиотека или тековниот кориснички ID. db2_pconnect()атрибутот треба да се постави пред db2_pconnect() . Ако вредноста се промени откако е воспоставена врската, и врската е со оддалечен извор на податоци, промената нема да стапи на сила до следната успешна

Забелешка: за рачката на конекцијата. ibm_db2.i5_allow_commitПоставката во php.ini DB2_I5_TXN_NO_COMMIT е стандардно, но може да биде надминато со i5_commit option.

DB2_I5_TXN_NO_COMMIT - Контролата на трансакциите не се користи. DB2_I5_TXN_READ_UNCOMMITTED - Можни се неуспешни читања, повторливи читања и призраци. DB2_I5_TXN_READ_COMMITTED - Неуспешни читања не се можни. Повторливи читања и призраци се можни. DB2_I5_TXN_REPEATABLE_READ - Неуспешни читања и повторливи читања не се можни. Призраци се можни. DB2_I5_TXN_SERIALIZABLE - Трансакциите се серијализирани. Неуспешни читања, повторливи читања и призраци не се можни.
i5_query_optimize
DB2_FIRST_IO Сите прашања се оптимизирани со цел да се врати првата страница од излезот што е можно побрзо. Оваа цел добро функционира кога излезот е контролиран од корисник кој најверојатно ќе го откаже прашањето откако ќе ја прегледа првата страница од податоците од излезот. Прашањата кодирани со клаузула OPTIMIZE FOR nnn ROWS ја почитуваат целта специфицирана од клаузулата. DB2_ALL_IO Сите прашања се оптимизирани со цел да се изврши целото прашање до завршување за најкратко време. Ова е добра опција кога излезот на прашањето се запишува во датотека или извештај, или интерфејсот ги реди податоците од излезот. Прашањата кодирани со клаузула OPTIMIZE FOR nnn ROWS ја почитуваат целта специфицирана од клаузулата. Ова е стандардно.
i5_dbcs_alloc
DB2_I5_DBCS_ALLOC_ON вредноста го вклучува шемата за алокација DB2 6X за раст на големината на колоната за превод на DBCS.

DB2_I5_DBCS_ALLOC_OFF вредноста го исклучува шемата за алокација DB2 6X за раст на големината на колоната за превод на DBCS.

Забелешка: за рачката на конекцијата. ibm_db2.i5_dbcs_allocПоставката во php.ini DB2_I5_DBCS_ALLOC_OFF е стандардно, но може да биде надминато со i5_dbcs_alloc option.

i5_date_fmt
DB2_I5_FMT_ISO - Меѓународната организација за стандардизација (ISO) формат на датум г-гггг-мм-дд се користи. Ова е стандардно. DB2_I5_FMT_USA - Форматот на датум на САД мм/дд/гггг се користи. DB2_I5_FMT_EUR - Европскиот формат на датум дд.мм.гггг се користи. DB2_I5_FMT_JIS - Јапонскиот индустриски стандарден формат на датум г-гггг-мм-дд се користи. DB2_I5_FMT_MDY - Форматот на датум мм/дд/гггг се користи. DB2_I5_FMT_DMY - Форматот на датум дд/мм/гггг се користи. DB2_I5_FMT_YMD - Форматот на датум гг/мм/дд се користи. DB2_I5_FMT_JUL - Јулијанскиот формат на датум гг/ддд се користи. DB2_I5_FMT_JOB - Се користи стандардното поставување на задачата.
i5_date_sep
DB2_I5_SEP_SLASH - A slash ( / ) is used as the date separator. This is the default. DB2_I5_SEP_DASH - Коса црта ( / ) се користи како разделувач на датум. Ова е стандардно. DB2_I5_SEP_PERIOD - Цртичка ( - ) се користи како разделувач на датум. DB2_I5_SEP_COMMA - Точка ( . ) се користи како разделувач на датум. DB2_I5_SEP_BLANK - Запирка ( , ) се користи како разделувач на датум. DB2_I5_SEP_JOB - Празно место се користи како разделувач на датум.
i5_time_fmt
DB2_I5_FMT_ISO Стандардното за работа се користи DB2_I5_FMT_USA - Меѓународната организација за стандардизација (ISO) формат на време hh.mm.ss се користи. Ова е стандардно. DB2_I5_FMT_EUR - Форматот на време hh:mmxx во САД се користи, каде што xx е AM или PM. DB2_I5_FMT_JIS - Европскиот формат на време hh.mm.ss се користи. DB2_I5_FMT_HMS - Јапонскиот индустриски стандарден формат на време hh:mm:ss се користи.
i5_time_sep
DB2_I5_SEP_COLON - Форматот hh:mm:ss се користи. DB2_I5_SEP_PERIOD - Двоеточие ( : ) се користи како разделувач на време. Ова е стандардно. DB2_I5_SEP_COMMA - Точка ( . ) се користи како разделувач на време. DB2_I5_SEP_BLANK - Запирка ( , ) се користи како разделувач на време. DB2_I5_SEP_JOB - Се користи стандардното поставување на задачата.
i5_decimal_sep
DB2_I5_SEP_PERIOD - Празно место се користи како разделувач на време. DB2_I5_SEP_COMMA - Точка ( . ) се користи како разделувач на децимали. Ова е стандардно. DB2_I5_SEP_JOB - Се користи стандардното поставување на задачата.

- Запирка ( , ) се користи како разделувач на децимали.

i5_libl

Следната нова опција i5/OS е достапна во верзијата ibm_db2 1.8.0 и понова.

Забелешка: i5_libl calls qsys2/qcmdexc('cmd',cmdlen), which is only available in i5/OS V5R4 and later.

Вратени вредности

Returns a connection handle resource if the connection attempt is successful. db2_pconnect() tries to reuse an existing connection resource that exactly matches the database, usernameПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во password parameters. If the connection attempt fails, db2_pconnect() returns false.

Дневник на промени

Верзија = NULL
PECL ibm_db2 1.9.0 Active transactions within a persistent connection will be rolled back at the end of each request.
PECL ibm_db2 1.8.0 На i5_libl option is available for i5/OS users.
PECL ibm_db2 1.7.0 На trustedcontext option is available.
PECL ibm_db2 1.5.1 На i5_lib, i5_naming, i5_commit, i5_query_optimize, i5_dbcs_alloc, i5_date_fmt, i5_date_sep, i5_time_fmt, i5_time_sep and i5_decimal_sep options are available for i5/OS users.

Примери

ако е овозможен колекторот за отпадоци, db2_pconnect() example

In the following example, the first call to db2_pconnect() returns a new persistent connection resource. The second call to db2_pconnect() returns a persistent connection resource that simply reuses the first persistent connection resource.

<?php
$database
= 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';

$pconn = db2_pconnect($database, $user, $password);

if (
$pconn) {
echo
"Persistent connection succeeded.";
}
else {
echo
"Persistent connection failed.";
}

$pconn2 = db2_pconnect($database, $user, $password);
if (
$pconn) {
echo
"Second persistent connection succeeded.";
}
else {
echo
"Second persistent connection failed.";
}
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

Persistent connection succeeded.
Second persistent connection succeeded.

Example #2 Using trusted context

Пример #5 Користење доверлив контекст

<?php

$database
= "SAMPLE";
$hostname = "localhost";
$port = 50000;
$authID = "db2inst1";
$auth_pass = "ibmdb2";

$tc_user = "tcuser";
$tc_pass = "tcpassword";

$dsn = "DATABASE=$database;HOSTNAME=$hostname;PORT=$port;
PROTOCOL=TCPIP;UID=
$authID;PWD=$auth_pass;";
$options = array ("trustedcontext" => DB2_TRUSTED_CONTEXT_ENABLE);

$tc_conn = db2_pconnect($dsn, "", "", $options);
if(
$tc_conn) {
echo
"Explicit trusted connection succeeded.\n";

if(
db2_get_option($tc_conn, "trustedcontext")) {
$userBefore = db2_get_option($tc_conn, "trusted_user");

//Do some work as user 1.

//Switching to trusted user.
$parameters = array("trusted_user" => $tc_user,
"trusted_password" => $tcuser_pass);
$res = db2_set_option ($tc_conn, $parameters, 1);

$userAfter = db2_get_option($tc_conn, "trusted_user");
//Do more work as trusted user.

if($userBefore != $userAfter) {
echo
"User has been switched." . "\n";
}
}

db2_close($tc_conn);
}
else {
echo
"Explicit trusted connection failed.\n";
}
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

Explicit trusted connection succeeded.
User has been switched.

Види Исто така

  • db2_connect() - Враќа врска до база на податоци

Белешки од корисници 2 забелешки

satoruyoshida at php dot net
пред 14 години
If You will create db2 connection on IBMi , QSQSRVR job will be created under QSYSWRK subsystem with specified user.
You can ensure it with using db2_pconnect() function.

For example, db2_pconnect('*LOCAL', 'TESTUSR', 'PASSWORD') will bring us QSQSRVR job with TESTUSR user.

If You omit the user, IHS default user is used in the job.
php at redlagoon dot net
пред 8 години
The ibm_db2.ini file controls many properties related to to pconnect.   For example, stale connection handling is configurable.
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.