Index: branches/version-2_5-dev/data/class/helper/SC_Helper_CSV.php
===================================================================
--- branches/version-2_5-dev/data/class/helper/SC_Helper_CSV.php	(revision 18781)
+++ branches/version-2_5-dev/data/class/helper/SC_Helper_CSV.php	(revision 18791)
@@ -78,5 +78,5 @@
                 create_date,
                 update_date,
-                "convert"
+                mb_convert_kana_option
             FROM
                 dtb_csv
@@ -262,5 +262,5 @@
         $objQuery->setOption($option);
 
-        $list_data = $objQuery->select($cols, $from, $where, $arrval, DB_FETCHMODE_ORDERED);
+        $list_data = $objQuery->select($cols, $from, $where, $arrval, MDB2_FETCHMODE_ORDERED);
 
         $csv = '';
Index: branches/version-2_5-dev/data/class/pages/admin/system/LC_Page_Admin_System_Bkup.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/system/LC_Page_Admin_System_Bkup.php	(revision 18788)
+++ branches/version-2_5-dev/data/class/pages/admin/system/LC_Page_Admin_System_Bkup.php	(revision 18791)
@@ -69,7 +69,4 @@
         SC_Utils_Ex::sfIsSuccess($objSess);
 
-        // バックアップテーブルがなければ作成する
-        $this->lfCreateBkupTable();
-
         if (!isset($_POST['mode'])) $_POST['mode'] = "";
 
@@ -207,5 +204,5 @@
         // 実行時間を制限しない
         set_time_limit(0);
-        
+
         $objQuery = new SC_Query();
         $csv_data = "";
@@ -218,5 +215,5 @@
 
         // 全テーブル取得
-        $arrTableList = $this->lfGetTableList();
+        $arrTableList = $objQuery->listTables();
 
         // 各テーブル情報を取得する
@@ -224,8 +221,4 @@
 
             if (!($val == "dtb_bkup" || $val == "mtb_zip")) {
-
-                // 自動採番型の構成を取得する
-                if (
-                $csv_autoinc .= $this->lfGetAutoIncrement($val);
 
                 // 全データを取得
@@ -252,6 +245,5 @@
                     $csv_data .= $val . "\r\n";
                     $csv_data .= $arrKyes . "\r\n";
-                    $csv_data .= $data;
-                    $csv_data .= "\r\n";
+                    $csv_data .= $data . "\r\n";
                 }
 
@@ -260,4 +252,7 @@
             }
         }
+
+        // 自動採番型の構成を取得する
+        $csv_autoinc = $this->lfGetAutoIncrement();
 
         $csv_file = $bkup_dir . "bkup_data.csv";
@@ -358,91 +353,22 @@
     }
 
-    // 全テーブルリストを取得する
-    function lfGetTableList(){
+    /**
+     * シーケンス一覧をCSV出力形式に変換する.
+     *
+     * シーケンス名,シーケンス値 の形式に出力する.
+     *
+     * @return string シーケンス一覧の文字列
+     */
+    function lfGetAutoIncrement() {
         $objQuery = new SC_Query();
-
-        if(DB_TYPE == "pgsql"){
-            $sql = "SELECT tablename FROM pg_tables WHERE tableowner = ? ORDER BY tablename ; ";
-            $arrRet = $objQuery->getAll($sql, array(DB_USER));
-            $arrRet = SC_Utils_Ex::sfSwapArray($arrRet);
-            $arrRet = $arrRet['tablename'];
-        }else if(DB_TYPE == "mysql"){
-            $sql = "SHOW TABLES;";
-            $arrRet = $objQuery->getAll($sql);
-            $arrRet = SC_Utils_Ex::sfSwapArray($arrRet);
-
-            // キーを取得
-            $arrKey = array_keys($arrRet);
-
-            $arrRet = $arrRet[$arrKey[0]];
-        }
-        return $arrRet;
-    }
-
-    // 自動採番型をCSV出力形式に変換する
-    // FIXME MDB2 のシーケンス関数を使用した実装へ要改修
-    function lfGetAutoIncrement($table_name){
-        $arrColList = $this->lfGetColumnList($table_name);
-        $ret = "";
-
-        if(DB_TYPE == "pgsql"){
-            $match = 'nextval(\'';
-        }else if(DB_TYPE == "mysql"){
-            $match = "auto_incr";
-        }
-
-        foreach($arrColList['col_def'] as $key => $val){
-
-            if (substr($val,0,9) == $match) {
-                $col = $arrColList['col_name'][$key];
-                $autoVal = $this->lfGetAutoIncrementVal($table_name, $col);
-                $ret .= "$table_name,$col,$autoVal\n";
-            }
-        }
-
-        return $ret;
-    }
-
-    // テーブル構成を取得する
-    Function LfgetColumnlist($table_name){
-        $objQuery = new SC_Query();
-
-        if(DB_TYPE == "pgsql"){
-            $sql = "SELECT
-                    a.attname, t.typname, a.attnotnull, d.adsrc as defval, a.atttypmod, a.attnum as fldnum, e.description
-                FROM
-                    pg_class c,
-                    pg_type t,
-                    pg_attribute a left join pg_attrdef d on (a.attrelid=d.adrelid and a.attnum=d.adnum)
-                                   left join pg_description e on (a.attrelid=e.objoid and a.attnum=e.objsubid)
-                WHERE (c.relname=?) AND (c.oid=a.attrelid) AND (a.atttypid=t.oid) AND a.attnum > 0
-                ORDER BY fldnum";
-            $arrColList = $objQuery->getAll($sql, array($table_name));
-            $arrColList = SC_Utils_Ex::sfSwapArray($arrColList);
-
-            $arrRet['col_def'] = $arrColList['defval'];
-            $arrRet['col_name'] = $arrColList['attname'];
-        }else if(DB_TYPE == "mysql"){
-            $sql = "SHOW COLUMNS FROM $table_name";
-            $arrColList = $objQuery->getAll($sql);
-            $arrColList = SC_Utils_Ex::sfSwapArray($arrColList);
-
-            $arrRet['col_def'] = $arrColList['Extra'];
-            $arrRet['col_name'] = $arrColList['Field'];
-        }
-        return $arrRet;
-    }
-
-    // 自動採番型の値を取得する
-    function lfGetAutoIncrementVal($table_name , $colname = ""){
-        $objQuery = new SC_Query();
-        $ret = "";
-
-        if(DB_TYPE == "pgsql"){
-            $ret = $objQuery->nextval($table_name, $colname) - 1;
-        }else if(DB_TYPE == "mysql"){
-            $sql = "SHOW TABLE STATUS LIKE ?";
-            $arrData = $objQuery->getAll($sql, array($table_name));
-            $ret = $arrData[0]['Auto_increment'];
+        $arrSequences = $objQuery->listSequences();
+        $result = "";
+
+        foreach($arrSequences as $val){
+            $seq = $objQuery->currVal($val);
+
+            $ret .= $val . ",";
+            $ret .= is_null($seq) ? "0" : $seq;
+            $ret .= "\r\n";
         }
         return $ret;
@@ -473,5 +399,5 @@
         // 実行時間を制限しない
         set_time_limit(0);
-        
+
         $objQuery = new SC_Query("", false);
         $csv_data = "";
@@ -546,5 +472,5 @@
 
     // CSVファイルからインサート実行
-    function lfExeInsertSQL($objQuery, $csv){
+    function lfExeInsertSQL(&$objQuery, $csv){
 
         $sql = "";
@@ -604,5 +530,5 @@
 
             // エラーがあれば終了
-            if ($err->message != ""){
+            if (PEAR::isError($err)){
                 SC_Utils_Ex::sfErrorHeader(">> " . $objQuery->getlastquery(false));
                 return false;
@@ -625,57 +551,31 @@
 
     // 自動採番をセット
-    function lfSetAutoInc($objQuery, $csv){
+    function lfSetAutoInc(&$objQuery, $csv){
         // csvファイルからデータの取得
         $arrCsvData = file($csv);
 
-        foreach($arrCsvData as $key => $val){
+        foreach($arrCsvData as $val){
             $arrData = split(",", trim($val));
 
-            if ($arrData[2] == 0)	$arrData[2] = 1;
-            $objQuery->setval($arrData[0] . "_" . $arrData[1], $arrData[2]);
+             $objQuery->setval($arrData[0], $arrData[1]);
         }
     }
 
     // DBを全てクリアする
-    function lfDeleteAll($objQuery){
+    function lfDeleteAll(&$objQuery){
         $ret = true;
 
-        $arrTableList = $this->lfGetTableList();
-
-        foreach($arrTableList as $key => $val){
+        $arrTableList = $objQuery->listTables();
+
+        foreach($arrTableList as $val){
             // バックアップテーブルは削除しない
             if ($val != "dtb_bkup") {
-                $trun_sql = "DELETE FROM $val;";
+                $trun_sql = "DELETE FROM $val";
                 $ret = $objQuery->query($trun_sql);
-
-                if (!$ret) return $ret;
-            }
-        }
-
-        return $ret;
-    }
-
-    // バックアップテーブルを作成する
-    function lfCreateBkupTable(){
-        $objQuery = new SC_Query();
-
-        // テーブルの存在チェック
-        $arrTableList = $this->lfGetTableList();
-
-        if(!in_array("dtb_bkup", $arrTableList)){
-            // 存在していなければ作成
-            // MySQL でプライマリキーを設定するため bkup_name は varchar(50) とした。
-            $cre_sql = "
-            create table dtb_bkup
-            (
-                bkup_name   varchar(50),
-                bkup_memo   text,
-                create_date timestamp,
-                PRIMARY KEY (bkup_name)
-            );
-        ";
-
-            $objQuery->query($cre_sql);
-        }
+                if (PEAR::isError($ret)) return false;
+            }
+        }
+
+        return true;
     }
 }
