2014年2月19日 星期三
2013年5月22日 星期三
PHP Oracle 10g 連接資料庫教學
來教教PHP Oracle10連線的教學,如果有幫助到您,我是很開心,因為我曾經因為他整夜沒睡。
先去網路上搜尋,AppServ把它裝起來。
把MySQL與phpAdmin選項移掉。
設定你的網址
解壓縮你下載好的instantclient_10_2,解壓縮到你要的路徑,幫他設定Path之後從重新開機。
進去到Windows目錄下的php.ini,裡面用Ctrl+f找下面幾個資料把它前面的;刪除。
再來到www下面,建立一個db_conn.php程式碼如下。
參考此篇網址:http://dream-hua.net/wordpress/?p=1325
先去網路上搜尋,AppServ把它裝起來。
把MySQL與phpAdmin選項移掉。
設定你的網址
解壓縮你下載好的instantclient_10_2,解壓縮到你要的路徑,幫他設定Path之後從重新開機。
進去到Windows目錄下的php.ini,裡面用Ctrl+f找下面幾個資料把它前面的;刪除。
extension=php_oracle.dll
extension=php_oci8.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_oci8.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
再來到www下面,建立一個db_conn.php程式碼如下。
<?php
$dbconn=OCILogon("帳號", "密碼", "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=163.17.9.68)(PORT=1521))(CONNECT_DATA=(SID=db)))");
if($dbconn!=false)//判斷是否連結成功
echo “連結成功!";
else
echo “連結失敗!";
//以上為PHP連線判斷
//以下為撈資料庫內的指令
$sql = "SELECT * FROM 會員";
$oci_rs = oci_parse($dbconn,$sql);
oci_execute($oci_rs,OCI_DEFAULT);
$rows= OCIFetchstatement($oci_rs,$results);
$keys=array_keys($results);
$table = '<table border="1">';
foreach($keys as $key)
{
$table .= " <TH>$key</TH>\n";
}
$table .= " </TR>\n";
for($i=0;$i<$rows;$i++)
{
$table .= "<TR>";
foreach($results as $spalte)
{
$data = $spalte[$i];
$table .= " <TD>$data</TD>";
}
$table .=" </TR>";
}
echo $table;
?>
$dbconn=OCILogon("帳號", "密碼", "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=163.17.9.68)(PORT=1521))(CONNECT_DATA=(SID=db)))");
if($dbconn!=false)//判斷是否連結成功
echo “連結成功!";
else
echo “連結失敗!";
//以上為PHP連線判斷
//以下為撈資料庫內的指令
$sql = "SELECT * FROM 會員";
$oci_rs = oci_parse($dbconn,$sql);
oci_execute($oci_rs,OCI_DEFAULT);
$rows= OCIFetchstatement($oci_rs,$results);
$keys=array_keys($results);
$table = '<table border="1">';
foreach($keys as $key)
{
$table .= " <TH>$key</TH>\n";
}
$table .= " </TR>\n";
for($i=0;$i<$rows;$i++)
{
$table .= "<TR>";
foreach($results as $spalte)
{
$data = $spalte[$i];
$table .= " <TD>$data</TD>";
}
$table .=" </TR>";
}
echo $table;
?>
參考此篇網址:http://dream-hua.net/wordpress/?p=1325
Tomcat7 + JSP + Oracle 10g 連結教學
系統環境
OS:Windows7_x64Ram:4GB
WebServer:Tomcat7
事前準備:
灌Tomcat7,畫面如下。
設定Tomcat 後台的帳密

下載這些檔案
classes12.jar
commons-collections-3.1.jar
commons-pool-1.2.jar

設定程式碼 ROOT/db_conn.jsp
<%@ page contentType="text/html;charset=utf-8" language="java" import="java.sql.*, oracle.jdbc.*"%>
Oracle連結測試<P>
<%
ResultSet rs = null;
String oracleURL="jdbc:oracle:thin:@資料庫位址:SID";
String oracleUser="帳號";
String oraclePass="密碼";
try {
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
}catch (SQLException e){
out.print("Driver Error");
}
try {
Connection conn = DriverManager.getConnection(oracleURL,oracleUser,oraclePass);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery("select * from 會員");
rs.last();
out.print("本網站有"+rs.getRow()+"位會員");
rs.close();
stmt.close();
conn.close();
}catch (SQLException ce){
System.out.print(ce);
}
%>
web.xml
<?xml version="1.0" encoding="utf-"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/myoracle</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app> Context.xml
<?xml version='1.0' encoding='utf-8'?>
<Context>
<WatchedResource>./WEB-INF/web.xml</WatchedResource>
<Resource name="jdbc/myoracle" auth="Container"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@資料庫位址:Port:SID"
username="帳號" password="密碼" maxActive="20" maxIdle="10"
maxWait="-1"/>
</Context>
其中:
name 表示指定的jndi名稱
auth 表示認證方式,一般為Container
type 表示數據源床型,使用標準的javax.sql.DataSource
maxActive 表示連接池當中最大的數據庫連接
maxIdle 表示最大的空閒連接數
maxWait 當池的數據庫連接已經被佔用的時候,最大等待時間
username 表示數據庫用戶名
password 表示數據庫用戶的密碼
driverClassName 表示JDBC DRIVER
url 表示數據庫URL地址
Server.xml
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
<Resource name="jdbc/myoracle" auth="Container"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@資料庫位址:Port:SID"
username="帳號" password="密碼" maxActive="20" maxIdle="10"
maxWait="-1"/>
</GlobalNamingResources>
到Localhost:8080/db_conn.jsp執行

接下來就祝福你們成功囉!^.<
參考網址:http://clq1013.blog.hexun.com.tw/37485909_d.html
訂閱:
文章 (Atom)



