mysql導出dbf文件,mysql資料庫導出db文件

本文目錄一覽:

eclipse怎樣導入dbf文件到mysql資料庫和導出mysql的文件

要是FOXBASE/FOXPRO的庫文件可以直接用EXCEL打開,然後保存為TXT文件,再用sqlldr導入oracle。不過EXCEL有行數限制,大概是8W行也可以直接把DBF文件COPY到FOXPRO環境。然後在FOXPRO里把這個DBF(庫)列印到文本即可,就可以sqlldr導入ORacle。

DBF文件怎麼導入到MYSQL中

select * from openrowset(』MSDASQL』,

』Driver=Microsoft Visual FoxPro Driver;

SourceDB=e:\VFP98\data;

SourceType=DBF』,

』select * from customer where country != “USA” order by country』)

go

mysql如何像sqlserver一樣將資料庫的mdf和ldf文件提取出來?

要將sql server資料庫中的數據全部導入到mysql資料庫中,其方法有多種,利用mysql ODBC把SQL Server中資料庫中的數據導入到MySQL中

第一步:安裝mysql ODBC;

去相關的網站下載mysql ODBC進行安裝。

第二步:建立MySQL的DSN;

在控制面板——管理工具——數據源 (ODBC)中建立MySQL的DSN。

例如: Data Source Name: MySQL DSN

Server: localhost

User: root

Password: root

Database: mysql

第三步:SQL Server中,選擇要導出的資料庫,右鍵選擇All Tasks-Export Datas… 開始DTS Export Wizerd…。

第四步:Choose a Data Source;

例如:Data Source: Microsoft OLE DB Provider for SQL Server

Server: 11.64.0.13

Username: admin

Password: admin

Database: ORDER

第五步:Choose a Destination。

例如:Data Source: MySQL ODBC 3.15 Driver

User/System DSN: MySQL DSN

Username: root

Password: root

第六步:Select Source Table。

第七步:Run immediately,下一步再選完成,就開始轉換。

總結:

這個轉換有時一部分表可能要失敗,雙擊失敗的表格,看看什麼原因,一般是SQL SERVER2000的數據類型問題,作一些小的修改就應該可以了。

如何用php將mysql表導出為dbf文件

?

include_once(“include.php”);

$card=445;//接收$card

//英文欄位轉中文欄位

function field_conv($en,$card){

global $DbUseDatabase,$DbMHost,$DbMUser,$DbMPass;

$db = new newquery($DbUseDatabase,$DbMHost,$DbMUser,$DbMPass);

$db-query(“select fieldname from t_cardinfo where cardkind=$card and field =’$en'”);

if($db-next_record()){

return $db-f(0);

}

else

return false;

}

function mysql_to_dbf($mysql_datasource,$source_table,$destination_dbf)

{

global $DbUseDatabase,$DbMHost,$DbMUser,$DbMPass,$card;

$link=mysql_connect($DbMHost,$DbMUser,$DbMPass) or exit(“不能鏈接到資料庫”);

$operate=mysql_select_db($mysql_datasource,$link);

//連mysql數據源

$rs=mysql_query(“SELECT * from “.$source_table.” limit 0,1”);

$number_of_fields=mysql_num_fields($rs);//取欄位數量

//不要前面5個底層欄位

for($field_counter=5;$field_counter$number_of_fields;$field_counter++)

{

$dbf_field_type=mysql_field_type($rs,$field_counter);

$dbf_field_name=mysql_field_name($rs,$field_counter);

$dbf_field_len=mysql_field_len($rs,$field_counter);

//print($dbf_field_name);

if(isset($point)){

unset($point);

array_pop($field);

}

switch($dbf_field_type)

{

case “string”:

$dbf_field_name=substr(mysql_field_name($rs,$field_counter),0,10);

//自由表的欄位名不能超過10,請注意

$dbf_field_len=mysql_field_len($rs,$field_counter);

if($dbf_field_len=255)

{

$dbf_field_len–;

}

$dbf_field_type=”C”;

break;

case “varchar”:

$dbf_field_name=substr(mysql_field_name($rs,$field_counter),0,10);

//自由表的欄位名不能超過10,請注意

$dbf_field_len=mysql_field_len($rs,$field_counter);

if($dbf_field_len=255)

{

$dbf_field_len–;

}

$dbf_field_type=”C”;

break;

case “decimal”:

$dbf_field_name=substr(mysql_field_name($rs,$field_counter),0,10);

//自由表的欄位名不能超過10,請注意

$dbf_field_len=mysql_field_len($rs,$field_counter);

if($dbf_field_len=255)

{

$dbf_field_len–;

}

$dbf_field_type=”C”;

break;

case “real”:

$dbf_field_name=substr(mysql_field_name($rs,$field_counter),0,10);

//自由表的欄位名不能超過10,請注意

$dbf_field_len=mysql_field_len($rs,$field_counter);

if($dbf_field_len=255)

{

$dbf_field_len–;

}

$dbf_field_type=”N”;

$dbf_field_len=”10″;

$point=”0″;

break;

case “date”:

$dbf_field_type=”D”;

break;

}

$fieldname=field_conv($dbf_field_name,$card);

$fieldname=subcnstr($fieldname, 9, ”); //欄位最長10個字元

$field[0]=$fieldname;

$field[1]=$dbf_field_type;

$field[2]=$dbf_field_len;

if(isset($point)) {

$field[3]=$point;

}

$dbf[]=$field;

}

$d = array_map(null, $dbf);

if (!dbase_create($destination_dbf,$dbf)){

print “strongError!/strong”;

exit;

}

//else

// print “strongok!/strong”;

//寫入欄位名完成!

$dbfp=dbase_open ($destination_dbf,2);

$rs=mysql_query(“SELECT * from “.$source_table);

$field=mysql_num_fields($rs);

while($row = mysql_fetch_array($rs))

{

$i=0;

for($fieldcounter=5;$fieldcounter$field;$fieldcounter++)//不要前面5個底層欄位

{

$field_name=mysql_field_name($rs,$fieldcounter);

$rows[$i]=$row[$field_name];

$i++;

}

dbase_add_record ($dbfp,$rows); //寫入記錄

}

//print_r($dbffield);

dbase_close($dbfp);

mysql_close($link);

}

mysql_to_dbf(“nbw1-SY”,”t_cardcontent445″,”c:\a.dbf”);

echo “scriptalert(‘導出完成!’)/script”;

?

原創文章,作者:KTLXX,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/325082.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
KTLXX的頭像KTLXX
上一篇 2025-01-13 13:23
下一篇 2025-01-13 13:23

相關推薦

發表回復

登錄後才能評論