$query = oci_parse($olink,$strSql);
$oresult=oci_execute($query);
数据库连接成功;
$strSql 在oracle执行能成功;
可在php里执行就是不行,请各位指教,
$oresult=oci_execute($query);
数据库连接成功;
$strSql 在oracle执行能成功;
可在php里执行就是不行,请各位指教,
解决方案 »
- with a as select *.... 临时表能建索引么?
- *****关于连接串的问题*****请高手指点,分不够再加.
- oracle 安装60%终止 提示资源不足
- 困惑本人好久的高难度问题!!!在不安装任何oracle驱动的客户端程序里插入一行记录后马上返回ROWID的问题
- 请帮我看一下这条sql语句(数据分页)
- Oracle 技术论坛好家园(新版OTN 中文论坛)欢迎你的光顾!
- oracle9i(9.2)在RedHat9下的安装!!?
- 请教一个SQL语句,如何写。
- ROWID的错误,请进............................................
- 见数据库时有个初始的连接,,extproc_conection_data ,使用来做什么的,,?
- ${ORACLE_HOME}/precomp/lib32中的文件有什么作用,能不能举个例子
- oracle查不在表里的记录
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>mysql 字符编码 </title>
</head>
<?php
mysql_query("set names gbk;");/*防止出现乱码*/
//连接数据库
$db="localhost";
$user="root";
$pwd="123456";
$dbname="dedev3"; $link=mysql_connect($db,$user,$pwd);
if(!$link)
{
echo "--------------Mysql连接失败---------------<br><br>";
exit();
}
$olink = oci_pconnect('SYSTEM','manager',"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.31)(PORT=1521))(CONNECT_DATA=(SID=dedeo)))");
if(!$olink)
{
echo "--------------Oracle连接失败---------------<br><br>";
exit();
} $tbNum=0;
$tbName="";
mysql_select_db($dbname);
$resultDB = mysql_query("show table status from $dbname",$link);
while($data=mysql_fetch_array($resultDB))
{
$tbName=$data["Name"];
/****取表所有行****/
$sql="select * from $tbName";
$result=mysql_query($sql);
$rows=mysql_num_rows($result); /****获取表的第一个字段名****/
$field=mysql_list_fields($dbname,$tbName,$link);
$cols=mysql_num_fields($field);
$priKey=mysql_field_name($field,0); //取表的第一个字段[主键/不一定全是] /****重新排序****/
mysql_free_result($result);
$sql="select * from $tbName order by $priKey";
$result=mysql_query($sql); if($rows==0)
{
echo "$tbName ----------------- 无记录 跳过 <br>";//.date("Y-m-d H:i:s",time()+8*3600)."<br>";
}
else
{
echo "$tbName ----------------- 开始数据处理 <br>";//.date("Y-m-d H:i:s",time()+8*3600)."<br>"; /****取第一个字段的最大值****/
$maxKey = mysql_query("select max(".$priKey.") as maxId from $tbName",$link);
if($maxKey)
{
while($row = mysql_fetch_object($maxKey))
{
$maxid = $row->maxId;
}
for($i=0;$i<$maxid;$i++)
{
$j=$i+1;
$recNum = mysql_query("select * from $tbName where ".$priKey."=$j",$link);
//echo "select ".$priKey." from $tbName where ".$priKey."=$j<br><br>";
if($recNum)
{
/****echo "无记录向oracle中插入一条空记录";
根据表字段生成SQL 语句****/
$strSql="insert into $tbName(";
for($m=0;$m<$cols-1;$m++)
{
$strSql.=mysql_field_name($field,$m+1).",";
}
$strSql=substr($strSql,0,strlen($strSql)-1);
$strSql.=") values("; $isExist=mysql_fetch_array($recNum);
if($isExist)
{
//echo "有记录<br>";
for($m=0;$m<$cols-1;$m++)
{
//echo $isExist[$m]."<br>";
if(mysql_field_type($field, $m+1)=="int")
{
$strSql.=$isExist[$m+1].",";
//echo mysql_field_type($field, $m)."<br>";
}
else
{
$strSql.="'".$isExist[$m+1]."'".",";
}
}
$strSql=substr($strSql,0,strlen($strSql)-1);
$strSql.=")";
//echo $strSql."<br>";
}
else
{ for($m=0;$m<$cols-1;$m++)
{
if(mysql_field_type($field, $m+1)=="int")
{
$strSql.="0".",";
}
else
{
$strSql.="' '".",";
}
}
$strSql=substr($strSql,0,strlen($strSql)-1);
$strSql.=")";
////echo $strSql."<br>";
}
//echo $strSql."<br>";
$query = oci_parse($olink,$strSql);
$oresult=oci_execute($query);
if($oresult)
{
echo "true<br>";
}
else
{
echo "false<br>";
}
}
else
{
echo "提取表$tbName数据时了错<br>";
}
}
}
} echo "$tbName 结束 ************************ <br><br>";//.date("Y-m-d H:i:s",time()+8*3600)."<br><br>";
$tbNum+=1;
/*
if($tbNum==10)
{
exit();
}
*/
}
echo $tbNum;
//清空内存
mysql_free_result($result);
//关闭数据库
mysql_close();
?>