浙林龙哥

   :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1)download

apache_2.2.14-win32-x86-no_ssl.msi

php-5.3.2-Win32-VC6-x86.zip

 

oracle instant client Version 10.2.0.4 (or higher) FROM:

http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html

 

2) install apache & PHP, test phpinfo()

3) unzip oracle instant client Version 10.2.0.4,

MOVE oci.dll,orannzsbb10.dll,oraociei10.dll to C:\instantclient10

4) set env:

NLS_LANG:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

TNS_ADMIN:C:\instantclient10

PATH:C:\instantclient10;...

  

you can test the env as following:

open cmd.exe

type : "echo %TNS_ADMIN%" [press ENTER key]

type : "path" [press ENTER key]

  

5) RESTART WINDOWS

It is VERY IMPORTANT!!

  

6) view phpinfo() again, you can see Path as set before in "Environment" section (not "Apache Environment")

7) uncomment in php.ini

 extension=php_oci8_11g.dll

extension=php_pdo_oci.dll

 

8) restart apache, you can see oci in PDO drivers

 

9) create new file:C:\instantclient10\tnsnames.ora

MYDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.46)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = databasename)
    )
  )

 

note: you must replace the SERVICE_NAME & HOST

 

10) use in php:

<?php
try {
$username = "name";
$passwd = "pass";
$dbh = new PDO("oci:dbname=MYDB;charset=utf8", $username, $passwd);

$dbh->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER);
$stmt = $dbh->prepare("SELECT * FROM DATA_WEBINFO");
if ($stmt->execute()) {
    while ($row = $stmt->fetch()) {
        print_r($row);
        print "<br>";
    }
}

} catch (Exception $e) {
echo "Failed to obtain database handle " .$e->getMessage();
}
?>

 

 

OK?

posted on 2010-03-25 22:25  浙林龙哥  阅读(2018)  评论(0编辑  收藏  举报