1、先PHP.INI中的oracle扩展也开启了
PHP下php.ini(注意,有时是在windows目录)修改下下
其中的
extension=php_oci8.dll 去掉前面的“”号
extension=php_oracle.dll 去掉前面的“”号
把php_oci8.dll 、和php_oracle.dll 文件复制到windwos的system32下
2、系统中应当有安装ORCALE的系统,然后配制远程ORACLE的的监听。就是你能用你配好的ORACLE系统访问远程的数据库。
{例:
在ORACLE安装目录下找到tnsnames.ora,然后按下面的例子配置一下
BASETEST 命名=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = XX.XX.XX.XX服务器IP地址)(PORT = 1521端口))
)
(CONNECT_DATA = (SERVICE_NAME = masprod 实例ID))
)
}
3.在你的PHP网页目录下写个测试连接的程序试试
<?php
$dbconn=OCILogon("username","pwd","(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = [远程服务器IP])(PORT = 1515))
)
(CONNECT_DATA =
(SERVICE_NAME = [数据库名字])
))")
if($dbconn!=false)
{
echo "连接成功"
if(OCILogOff($dbconn)==true)
{
echo "关闭连接成功!"//=这里有问题
}
}
else
{
echo "连接失败"
}
?>
首先你要在php.ini文件中找到extension=php_oci8.dll 前面的注释符号“”去掉,使php能够加载支持oracle的模块;
下面的代码是调试通过的,可直接使用的:
<html>
<body>
<?php
$dbconn=OCILogon("root","pass","(DESCRIPTION=(ADDRESS=(PROTOCOL =TCP)(HOST=远程IP)(PORT = 1521))(CONNECT_DATA =(SID=GZXNCW)))")
if($dbconn!=false)
{
echo "连接成功"
if(OCILogOff($dbconn)==true)
{
echo "关闭连接成功!"
}
}
else
{
echo "连接失败"
}
?>
</body>
</html>
<?php
$dbconn=oci_connect("你的账号","你的密码","你的数据库名称")//请把中文件设置为你的值;
$stmt=oci_parse($dbconn, "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")
?>
php配置oracle非常的简单需吧php.ini文件中的配置,去掉 extention = php_oci8.dll,去掉前面的分号,重启apache就可以了oracle数据库建立链接,代码如下:
1:
$conn =
oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL
=TCP)(HOST=192.168.1.100)(PORT = 1521))(CONNECT_DATA =(SID=test)))")
2:
$conn = oci_connect('username','password','192.168.1.100/test')
3.Oracle 连接方法
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft odbc for oracle}server=oraclesever.worlduid=adminpwd=pass"
完整的例子如下:
<?php
$conn = oci_connect('hr', 'hr', 'orcl')// 建立连接
if (!$conn) {
$e = oci_error()
print htmlentities($e['message'])
exit
}
$query = 'SELECT * FROM DEPARTMENTS'// 查询语句
$stid = oci_parse($conn, $query)// 配置SQL语句,准备执行
if (!$stid) {
$e = oci_error($conn)
print htmlentities($e['message'])
exit
}
$r = oci_execute($stid, OCI_DEFAULT)// 执行SQL。OCI_DEFAULT表示不要自动commit
if(!$r) {
$e = oci_error($stid)
echo htmlentities($e['message'])
exit
}
// 打印执行结果
print '<table border="1">'
while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
print '<tr>'
foreach($row as $item) {
print '<td>'.($item?htmlentities($item):' ').'</td>'
}
print '</tr>'
}
print '</table>'
oci_close($conn)
?>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)