Вы не зарегистрированы? Нажмите здесь для регистрации.
Забыли пароль? Запросите новый здесь.
|
Вы должны авторизироваться, чтобы добавить сообщение.
|
|
|
Последние активные темы форума |
|
oci_new_connect
(PHP 5) oci_new_connect -- Устанавливает новое соединение с сервером Oracle
Описаниеresource oci_new_connect ( string username, string password [, string db [, string charset]] ) oci_new_connect() создает новое соединение
с сервером Oracle. Необязательный третий параметр может содержать имя
локального экземпляра Oracle или имя сервера, указанного в tnsnames.ora.
Если параметр db не указан, PHP будет использовать
переменные ORACLE_SID и TWO_TASK
для определения имени локального экземпляра Oracle и местонахождения
файла tnsnames.ora соответственно.
Если вы используете сервер Oracle версии 9.2 и выше, то вы можете указать
кодировку, которая будет использована в новом соединении. Кодировка
указывается в параметре charset. Если же вы
используете версии сервера Oracle младше 9.2, то этот параметр будет
проигнорирован, а вместо него будет использована переменная окружения
NLS_LANG.
oci_new_connect() принудительно создает новое
соединение. Это может быть использовано в том случае, если вы хотите
изолировать набор транзакций. По умолчанию, новое соединение не создается
в том случае, если соединение с такими параметрами уже было создано,
поэтому oci_connect() и oci_pconnect()
вернут идентификатор уже существующего соединения. Но
oci_new_connect(), в отличие от них, всегда создает
новое соединение.
Этот пример демонстрирует разделение соединений.
Пример 1. Пример использования ocinlogon()
<?php
echo
"<html><pre>"
;
$db
=
""
;
$c1
=
oci_connect
(
"scott"
,
"tiger"
,
$db
);
$c2
=
oci_new_connect
(
"scott"
,
"tiger"
,
$db
);
function
create_table
(
$conn
)
{
$stmt
=
oci_parse
(
$conn
,
"create table scott.hallo (test
varchar2(64))"
);
oci_execute
(
$stmt
);
echo
$conn
.
" created table\n\n"
;
}
function
drop_table
(
$conn
)
{
$stmt
=
oci_parse
(
$conn
,
"drop table scott.hallo"
);
oci_execute
(
$stmt
);
echo
$conn
.
" dropped table\n\n"
;
}
function
insert_data
(
$conn
)
{
$stmt
=
oci_parse
(
$conn
,
"insert into scott.hallo
values('$conn' || ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))"
);
oci_execute
(
$stmt
,
OCI_DEFAULT
);
echo
$conn
.
" inserted hallo\n\n"
;
}
function
delete_data
(
$conn
)
{
$stmt
=
oci_parse
(
$conn
,
"delete from scott.hallo"
);
oci_execute
(
$stmt
,
OCI_DEFAULT
);
echo
$conn
.
" deleted hallo\n\n"
;
}
function
commit
(
$conn
)
{
oci_commit
(
$conn
);
echo
$conn
.
" committed\n\n"
;
}
function
rollback
(
$conn
)
{
oci_rollback
(
$conn
);
echo
$conn
.
" rollback\n\n"
;
}
function
select_data
(
$conn
)
{
$stmt
=
oci_parse
(
$conn
,
"select * from scott.hallo"
);
oci_execute
(
$stmt
,
OCI_DEFAULT
);
echo
$conn
.
"----selecting\n\n"
;
while (
oci_fetch
(
$stmt
)) {
echo
$conn
.
" <"
.
oci_result
(
$stmt
,
"TEST"
) .
">\n\n"
;
}
echo
$conn
.
"----done\n\n"
;
}
create_table
(
$c1
);
insert_data
(
$c1
);
select_data
(
$c1
);
select_data
(
$c2
);
rollback
(
$c1
);
select_data
(
$c1
);
select_data
(
$c2
);
insert_data
(
$c2
);
commit
(
$c2
);
select_data
(
$c1
);
delete_data
(
$c1
);
select_data
(
$c1
);
select_data
(
$c2
);
commit
(
$c1
);
select_data
(
$c1
);
select_data
(
$c2
);
drop_table
(
$c1
);
echo
"</pre></html>"
;
?>
|
|
В случае ошибки oci_new_connect() возвращает FALSE.
Замечание:
В версиях PHP ниже 5.0.0 эта функция называлась ocinlogon().
В PHP 5.0.0 и выше ocinlogon() является
алиасом oci_new_connect(), поэтому вы можете
продолжать использовать это имя, однако это не рекомендуется.
См. также oci_connect() и
oci_pconnect().
|
· Гостей: 18
· Пользователей: 0
· Всего пользователей: 453
· Новый пользователь: ZDA
|
|