【永利官网ylg客户端】PLSQL数据导入导出难题一蹴而就(空表、大字段表、表空间错误等)

';
  $objReader = PHPExcel_IOFactory::createReader($inputFileType);
  $objPHPExcel = $objReader->load($inputFileName);
  /*
  $sheet = $objPHPExcel->getSheet(0);
  $highestRow = $sheet->getHighestRow(); //取得总行数
  $highestColumn = $sheet->getHighestColumn(); //取得总列
  */ 
  $objWorksheet = $objPHPExcel->getActiveSheet();//取得总行数
  $highestRow = $objWorksheet->getHighestRow();//取得总列数
  echo 'highestRow='.$highestRow;
  echo "
";
  $highestColumn = $objWorksheet->getHighestColumn();
  $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);//总列数
  echo 'highestColumnIndex='.$highestColumnIndex;
  echo "
";
  $headtitle=array();
  for ($row = 1;$row <= $highestRow;$row++)
  {
   $strs=array();
   //注意highestColumnIndex的列数索引从0开始
   for ($col = 0;$col < $highestColumnIndex;$col++)
   {
    $strs[$col] =$objWorksheet->getCellByColumnAndRow($col, $row)->getValue();
   }
    $info = array(
     'word1'=>"$strs[0]",
     'word2'=>"$strs[1]",
     'word3'=>"$strs[2]",
     'word4'=>"$strs[3]",
    );
    //在这儿,你可以连接,你的数据库,写入数据库了
    print_r($info);
    echo '
';
  }
?>

永利官网ylg客户端 1

2、导入表结构、序列和数据

3、可能由于权限设置原因,导致导入表的表空间名称不正确。

private function _export_data($data = array())
{
 error_reporting(E_ALL); //开启错误
 set_time_limit(0); //脚本不超时
 date_default_timezone_set('Europe/London'); //设置时间
 /** Include path **/
 set_include_path(FCPATH.APPPATH.'/libraries/Classes/');//设置环境变量
 // Create new PHPExcel object
 Include 'PHPExcel.php';
 $objPHPExcel = new PHPExcel();
 // Set document properties
 $objPHPExcel->getProperties()->setCreator("Maarten Balliauw")
    ->setLastModifiedBy("Maarten Balliauw")
    ->setTitle("Office 2007 XLSX Test Document")
    ->setSubject("Office 2007 XLSX Test Document")
    ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
    ->setKeywords("office 2007 openxml php")
    ->setCategory("Test result file");
 // Add some data
 $letter = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');    
 if($data){
  $i = 1;
  foreach ($data as $key => $value) {
  $newobj = $objPHPExcel->setActiveSheetIndex(0);
  $j = 0; 
  foreach ($value as $k => $val) {
   $index = $letter[$j]."$i";
   $objPHPExcel->setActiveSheetIndex(0)->setCellValue($index, $val);
   $j++;
  }
   $i++;
  }
 }   
 $date = date('Y-m-d',time());  
 // Rename worksheet
 $objPHPExcel->getActiveSheet()->setTitle($date);
 $objPHPExcel->setActiveSheetIndex(0);
 // Redirect output to a client's web browser (Excel2007)
 header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
 header('Content-Disposition: attachment;filename="'.$date.'.xlsx"');
 header('Cache-Control: max-age=0');
 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
 $objWriter->save('php://output');
 exit;
}

 最后附上eg:

(impdp 用户名/密码 dumpfile=要导入的文件名.dmp
REMAP_SCHEMA=导出的用户名:导入的用户名 EXCLUDE=USER)
impdp username/password dumpfile=database.dmp
REMAP_SCHEMA=username1:username EXCLUDE=USER

转载:

public function export_data($data = array())
{
 # code...
 include_once(APP_PATH.'Tools/PHPExcel/Classes/PHPExcel/Writer/IWriter.php') ;
 include_once(APP_PATH.'Tools/PHPExcel/Classes/PHPExcel/Writer/Excel5.php') ;
 include_once(APP_PATH.'Tools/PHPExcel/Classes/PHPExcel.php') ;
 include_once(APP_PATH.'Tools/PHPExcel/Classes/PHPExcel/IOFactory.php') ;
 $obj_phpexcel = new PHPExcel();
 $obj_phpexcel->getActiveSheet()->setCellValue('a1','Key');
 $obj_phpexcel->getActiveSheet()->setCellValue('b1','Value'); 
 if($data){
  $i =2;
  foreach ($data as $key => $value) {
  # code...
  $obj_phpexcel->getActiveSheet()->setCellValue('a'.$i,$value);
  $i++;
  }
 } 
 $obj_Writer = PHPExcel_IOFactory::createWriter($obj_phpexcel,'Excel5');
 $filename = "outexcel.xls";
 header("Content-Type: application/force-download"); 
 header("Content-Type: application/octet-stream"); 
 header("Content-Type: application/download"); 
 header('Content-Disposition:inline;filename="'.$filename.'"'); 
 header("Content-Transfer-Encoding: binary"); 
 header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
 header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
 header("Pragma: no-cache"); 
 $obj_Writer->save('php://output'); 
}
SELECT * FROM pub_parameter INTO OUTFILE 'C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\test8.sql' 

 

                        把查询结果导出,执行导出的语句即可。

直接上代码:

注意:1.导入的时候数据文件要和导入的表的结构相对应(字段长度、类型、列等等)

到此数据导入完成;

使用的数据库版本为:Oracle11g。

(如果有特殊的字符串 =
麻烦  str_replace(array(‘=’),”,$val[‘roleName’]);)

   2.导出的文件不是sql,不包含表结构,只是纯数据文件,且每一条数据占一行

导入数据库时若是提示“未找到表空间”,则删掉导入未成功的表,创建缺少的表空间后,再次导入数据库。

    Select ‘alter table ‘||table_name||’ allocate extent;’ from
user_tables where segment_created=’NO’; 

导入数据:

    其中option参数常用的5个选项:
    FIELDS TERMINATED BY
‘字符串’:设置字符串为字段的分割符,默认值为 t;
    FIELDS ENCLOSED BY ‘字符’:设置字符串括上字段的值,默认值为
无任何符号;
    FIELDS OPTIONALLY ENCLOSED BY ‘字符’:设置字符串括上char varchar
text等字符型字段,默认值为 无任何符号;
    LINES STARTING BY ‘字符串’:设置每一行开头的字符,默认值为
无任何字符;
    FIELDS ESCAPED BY ‘字符’:设置转义字符,默认值为 ;
    LINES TERMINATED BY ‘字符串’:设置每行结束符,默认值为 n;

1、想要导入数据库必须首先创建用户和表空间并赋权限

              
表结构导入后可以采用dmp导入导出的方式进行数据导入,对于部分表可以采用数据复制的方式进行数据导入。

希望本文所述对大家php程序设计有所帮助。

永利官网ylg客户端 2SELECT
* FROM pub_parameter INTO OUTFILE ‘C:\ProgramData\MySQL\MySQL
Server 5.7\Uploads\test5.sql’ FIELDS TERMINATED BY
‘|’            
 永利官网ylg客户端 3

永利官网ylg客户端 4

                  
需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。

本文实例讲述了PHP使用PHPexcel导入导出数据的方法。分享给大家供大家参考,具体如下:

方法一:mysqldump,但是mysqldump是在操作系统命令行下运行的,并不满足这种场景。

–修改索引(执行后选择所有的列表项再次执行)
select ‘alter index ‘|| index_name ||’ rebuild tablespace
tablespace1;’  from user_indexes;

                        set heading off; 
                        set echo off; 
                        set feedback off; 
                        set termout on; 
                        spool C:allocate.sql; 
                        Select ‘alter table ‘||table_name||’ allocate
extent;’ from user_tables where num_rows=0; 
                        spool off;

导出数据:

  b)修改 mysql 的 my.ini 配置文件中secure_file_priv来进行管理,
    i.不允许MySQL进行导入导出
      # Secure File Priv.
      secure-file-priv = null
    ii.只允许MySQL在指定的目录下进行导入导出操作
      # Secure File Priv.
      secure-file-priv = /目录/
    iii.不对MySQL的导入导出进行限制(注释或删除secure-file-priv配置)
      # Secure File Priv.
      #secure-file-priv=”C:/ProgramData/MySQL/MySQL Server
5.7/Uploads”

和C表 空间。

                        永利官网ylg客户端 5

方法二:通过sql进行查询,再通过io写成文件。此方式不做评价…ps:各种工具的导入导出就算了,有兴趣的自行了解

 

          
可以采用通用方法进行表结构导出,然后进行编辑后在进行导入,在编辑的时候修改表空间名称即可。

重点来啦:在数据导出和数据导入的时候,有几下几种方式,此处具体介绍方法三

alter table gg_doc move lob(CONTENT) store as(tablespace
tablespace1);
alter table WEB_doc move lob(CONTENT) store as(tablespace
tablespace1);
alter table UI_BILL move lob(XML) store as(tablespace tablespace1);

通用方法:表结构和数据分开导出导入,通用方法可以解决很多问题,对于下面的错误页可以通过这个方法进行解决。

方法三:导出==》SELECT语句 INTO OUTFILE 路径+目标文件 [option]
    导入==》LOAD DATA LOCAL INFILE 路径+目标文件 INTO TABLE 表名
[option]

永利官网ylg客户端 6

                        永利官网ylg客户端 7

发表评论

电子邮件地址不会被公开。 必填项已用*标注