<button id="9uo9w"></button>

    1. <em id="9uo9w"></em>

      <button id="9uo9w"><acronym id="9uo9w"><input id="9uo9w"></input></acronym></button>
      <button id="9uo9w"><acronym id="9uo9w"><cite id="9uo9w"></cite></acronym></button>
      <span id="9uo9w"></span>

      <button id="9uo9w"><acronym id="9uo9w"></acronym></button>

      <progress id="9uo9w"></progress><rp id="9uo9w"></rp>
      1. 首頁 > 數據庫 > MySQL > 正文

        Foxpro到MySQL的數據轉換技術介紹

        2019-09-08 23:26:27
        字體:
        來源:轉載
        供稿:網友
          傳統的 C/S 模式的編程環境下,Visual Foxpro 曾經是風靡一時的數據庫類型,然而,在輕型的數據庫級別里,MySQL 具有遠比 VFP 要好得多的特性,最大的好處當然是跨平臺特性。在本文介紹的這個應用里(這是一個實際的例子),我們把在 VFP 環境下頻繁更新的數據,通過 PHP 的 ADODB 接口同步到 MySQL 數據庫,并在入庫之前,對其中的文本的關鍵字打上標記,使之關聯到對應的連接。

          下面列出程序片段。

          conv.php
          $ADODB_PATH="C:/Apache/PHP/PEAR/ADODB";
          include("$ADODB_PATH/adodb.inc.php"); // ADODB 的類
          include("$ADODB_PATH/db_mysql.php"); // 采用了 VBB 中的類
          $conn = &ADONewConnection('vfp'); // 指定 ADODB 的連接類型為 VFP。
          $conn->PConnect('gn','sa',''); // gn 是建立在本機上的ODBC 系統 DSN 名字。
          function parse_keyword ( $oldmem ) {
          $ADODB_CACHE_DIR = 'c:/temp'; // Cache 的目錄
          $ADODB_FETCH_MODE = ADODB_FETCH_NUM;
          $mysql_conn = &ADONewConnection('mysql'); // 指定 ADODB 的連接類型為 mysql
          $mysql_conn->PConnect('localhost','username','password','db_name');
          $sql = "select keyword,url from KEYWORD ";
          $rs = $mysql_conn->CacheExecute(1500,$sql);
          // 對 KEYWORD 的查找采用 1500 秒的緩沖。
          if (!$rs) print $mysql_conn->ErrorMsg();
          $all_col=$rs->GetArray();
          $rs->Close();
          $keyword= array();
          $url = array();
          for ( $i = 0; $i< count($all_col); $i++ ) {
          $keyword[$i] = $all_col[$i][0];
          $url[$i] = $all_col[$i][1];
          }
          $newmem=str_replace($keyword,$url,$oldmem);
          // 這是本函數里最大的功能,數組替換文本。
          // 一個語句解決一段文本里所有關鍵字的替換。
          $mysql_conn->Disconnect();
          $mysql_conn->Close();
          return $newmem;
          }
          $DB_Site = new DB_Sql;
          $DB_Site->connect();
          echo "Processing Table ...n";
          $sql = " SELECT max(seq) as seq FROM mysql_table WHERE type=0200";
          $seqinfo = $DB_Site->query_first($sql);
          $seq = $seqinfo[seq];// 取出目標數據庫中最大的 seq 值。
          $sql = " SELECT seq,type,body FROM vfp_table WHERE seq > ".$seq."" " ;
          //取出源數據庫中最新的記錄。
          $rs = $conn->Execute($sql);
          if ( $rs->EOF ) echo "Table had No new record, Max seq is [$seq].n";
          while (!$rs->EOF) {
          $sql = " INSERT INTO mysql_table VALUES ($rs->fields[seq],$rs->
          fields[type],".parse_keyword($rs->fields[body])."')";
          $DB_Site->query($sql);
          $rs->MoveNext();
          }
          $rs->Close();
          $DB_Site->close();
          $conn->Disconnect();
          $conn->Close('gn');
          ?>

        MYSQL

        發表評論 共有條評論
        用戶名: 密碼:
        驗證碼: 匿名發表
        <button id="9uo9w"></button>

        1. <em id="9uo9w"></em>

          <button id="9uo9w"><acronym id="9uo9w"><input id="9uo9w"></input></acronym></button>
          <button id="9uo9w"><acronym id="9uo9w"><cite id="9uo9w"></cite></acronym></button>
          <span id="9uo9w"></span>

          <button id="9uo9w"><acronym id="9uo9w"></acronym></button>

          <progress id="9uo9w"></progress><rp id="9uo9w"></rp>