IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當前所在位置:首頁數(shù)據(jù)庫MYSQL → Foxpro到MySQL的數(shù)據(jù)轉(zhuǎn)換技術(shù)介紹

Foxpro到MySQL的數(shù)據(jù)轉(zhuǎn)換技術(shù)介紹

時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)

  傳統(tǒng)的 C/S 模式的編程環(huán)境下,Visual Foxpro 曾經(jīng)是風靡一時的數(shù)據(jù)庫類型,然而,在輕型的數(shù)據(jù)庫級別里,mysql 具有遠比 VFP 要好得多的特性,最大的好處當然是跨平臺特性。在本文介紹的這個應用里(這是一個實際的例子),我們把在 VFP 環(huán)境下頻繁更新的數(shù)據(jù),通過 php 的 ADODB 接口同步到 MySQL 數(shù)據(jù)庫,并在入庫之前,對其中的文本的關(guān)鍵字打上標記,使之關(guān)聯(lián)到對應的連接。

  下面列出程序片段。

  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 系統(tǒng) 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);
  // 這是本函數(shù)里最大的功能,數(shù)組替換文本。
  // 一個語句解決一段文本里所有關(guān)鍵字的替換。
  $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];// 取出目標數(shù)據(jù)庫中最大的 seq 值。
  $sql = " SELECT seq,type,body FROM vfp_table WHERE seq > ".$seq."" " ;
  //取出源數(shù)據(jù)庫中最新的記錄。
  $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');
  ?>

關(guān)鍵詞標簽:技術(shù),介紹,轉(zhuǎn)換,數(shù)據(jù),

相關(guān)閱讀 最好用的雙核瀏覽器有哪些ORACLE 數(shù)據(jù)庫備份技術(shù)CSSHack技術(shù)速查對照-CSS教程加密技術(shù)的方方面面知識AJAX技術(shù) vs 傳統(tǒng)的ASP無刷新技術(shù)關(guān)于ASP.NET技術(shù)的學習順序問題

文章評論
發(fā)表評論

熱門文章 10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦MySQL常用維護管理工具MySQL常用維護管理工具Linux VPS/服務器上輕松導入、導出MySQL數(shù)據(jù)Linux VPS/服務器上輕松導入、導出MySQL數(shù)據(jù)MySQL復制的概述、安裝、故障、技巧、工具MySQL復制的概述、安裝、故障、技巧、工具

人氣排行 MySQL數(shù)據(jù)庫啟動失敗1067進程意外終止的解決辦法總結(jié)10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦Mysql 1045錯誤解決辦法MySQL服務器進程CPU占用100%解決辦法MySQL導出導入命令的用例MySQL無法啟動、無法停止各種解決方法總結(jié)三種常用的MySQL建表語句Mysql清空表的實現(xiàn)方法