百科狗-知识改变命运!

Oracle(PDO) - PDO驱动

梵高2年前 (2023-11-21)阅读数 31#技术干货
文章标签常量

Oracle(PDO)

安装

If the Oracle Database is on the same machine as PHP, the database software already contains the necessary libraries. When PHP is on a different machine, use the free » Oracle Instant Client libraries. For details refer to the OCI8 Requirements section.

Use--with-pdo-oci[=DIR]to install the PDO Oracle OCI extension, where the optional[=DIR]is the Oracle Home directory.[=DIR]defaults to the$ORACLE_HOMEenvironment variable.

Use--with-pdo-oci=instantclient,prefix,versionfor an Oracle Instant Client SDK, where prefix and version are configured.

// Using $ORACLE_HOME
$ ./configure --with-pdo-oci
// Using OIC for Linux with 10.2.0.3 RPMs with a /usr prefix
$ ./configure --with-pdo-oci=instantclient,/usr,10.2.0.3

预定义常量

下列常量由此驱动定义,且仅在扩展编译入 PHP或在运行时动态载入时可用。另外,使用此驱动时,仅会使用这些驱动特定的常量。使用其他驱动的驱动特定的常量可能会导致不可预见的情况。如果代码可运行于多个驱动,PDO::getAttribute()可被用于获取PDO_ATTR_DRIVER_NAME属性以检查驱动。

Oracle(PDO) - PDO驱动

PDO::OCI_ATTR_ACTION(integer)

Provides a way to specify the action on the database session.

自以下版本起 PHP 7.2.16 and 7.3.3

PDO::OCI_ATTR_CLIENT_INFO(integer)

Provides a way to specify the client info on the database session.

自以下版本起 PHP 7.2.16 and 7.3.3

PDO::OCI_ATTR_CLIENT_IDENTIFIER(integer)

Provides a way to specify the client identifier on the database session.

自以下版本起 PHP 7.2.16 and 7.3.3

PDO::OCI_ATTR_MODULE(integer)

Provides a way to specify the module on the database session.

自以下版本起 PHP 7.2.16 and 7.3.3

Table of Contents

  • PDO_OCI DSN— Connecting to Oracle databases
If you're getting the "I'm too dumb to find oci.h" error, try creating a variety of paths. One variety uses just the major and minor of your OIC version (eg, 11.2 for 11.2.0.2) and another variety uses client64 as well as client.
Something like this (for 11.2.0.2):
ln -s /usr/include/oracle/11.2.0.2/ /usr/include/oracle/11.2
ln -s /usr/include/oracle/11.2/client /usr/include/oracle/11.2/client64
ln -s /usr/lib/oracle/11.2.0.2/ /usr/lib/oracle/11.2
ln -s /usr/lib/oracle/11.2/client /usr/lib/oracle/11.2/client64
This should cover your bases for 64-bit systems, as well as PHP patched to use the major.minor version number only. See also PHP bug #44989.
if oracle and oracle instant client has been installed,
without db in the same host
For UNIX/LINUX,set $LD_LIBRARY_PATH
appent your instant client path and client/lib path to it,
For windows set PATH like this
After set the path ,set TNS_ADMIN everioment ,point to 
where tnsnames.ora located.
Then,you can use service name to connect to your Database
Test coding

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)
{if $zbp->Config('yd1125')->foot}