dbf怎么傳到mysql dbf文件導(dǎo)入sqlserver數(shù)據(jù)庫(kù)

如何用php將mysql表導(dǎo)出為dbf文件

?

創(chuàng)新新互聯(lián),憑借十多年的成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站經(jīng)驗(yàn),本著真心·誠(chéng)心服務(wù)的企業(yè)理念服務(wù)于成都中小企業(yè)設(shè)計(jì)網(wǎng)站有上1000家案例。做網(wǎng)站建設(shè),選創(chuàng)新互聯(lián)公司。

include_once("include.php");

$card=445;//接收$card

//英文字段轉(zhuǎn)中文字段

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("不能鏈接到數(shù)據(jù)庫(kù)");

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

//連mysql數(shù)據(jù)源

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

$number_of_fields=mysql_num_fields($rs);//取字段數(shù)量

//不要前面5個(gè)底層字段

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);

//自由表的字段名不能超過(guò)10,請(qǐng)注意

$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);

//自由表的字段名不能超過(guò)10,請(qǐng)注意

$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);

//自由表的字段名不能超過(guò)10,請(qǐng)注意

$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);

//自由表的字段名不能超過(guò)10,請(qǐng)注意

$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, ''); //字段最長(zhǎng)10個(gè)字符

$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個(gè)底層字段

{

$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('導(dǎo)出完成!')/script";

?

怎么使用powerdesinger 16.5將oracle的表和數(shù)據(jù)轉(zhuǎn)到mysql

1、工具的準(zhǔn)備

1.1、安裝Oracle SQL Developer,我是用的是最新版本,下載后解壓到任意目錄即可(不含中文,空格)。

1.2、下載mysql的驅(qū)動(dòng)jar文件,官網(wǎng)地址查出后忘了,此處免費(fèi)提供下載;下載后解壓到任意目錄

1.3、打開Oracle SQL Developer,菜單欄中選擇 工具--首選項(xiàng)--數(shù)據(jù)庫(kù)--第三方JDBC驅(qū)動(dòng)程序中選擇mysql驅(qū)動(dòng)解壓后的jar文件,然后點(diǎn)擊確定。

2、建立Oracle數(shù)據(jù)庫(kù)與用戶(用來(lái)承載mysql移植來(lái)的數(shù)據(jù))--此處操作后續(xù)補(bǔ)齊,網(wǎng)上資料很多,當(dāng)然,此處也可以省略(如果你的項(xiàng)目中不需要額外的數(shù)據(jù)庫(kù)和用戶的話)

2.1、在數(shù)據(jù)庫(kù)建好之后,為了給用戶授予權(quán)限,我們創(chuàng)建一個(gè)管理員的連接(當(dāng)然,你也可以在命令行中連接oracle完成授權(quán)操作)

2.2、建立用戶并授予權(quán)限,授予權(quán)限(此處指你已經(jīng)創(chuàng)建了自己的數(shù)據(jù)庫(kù),或者使用oracle默認(rèn)的數(shù)據(jù)庫(kù))

另:此處提供簡(jiǎn)略版創(chuàng)建用戶與表空間的結(jié)構(gòu),此處不做解釋,后期補(bǔ)充

--創(chuàng)建臨時(shí)表空間 aaaa意義:臨時(shí)表空間,臨時(shí)表空間文件

create temporary tablespace aaaa_temp

tempfile 'G:\software\Java_database\oracle\runtimebj\aaaa_temp.dbf'

size 32m

autoextend on

next 32m maxsize 2048m

extent management local;

--創(chuàng)建數(shù)據(jù)表空間 aaaa意義:表空間,表空間文件

create tablespaceaaaa

logging

datafile 'G:\software\Java_database\oracle\runtimebj\aaaa.dbf'

size 100m

autoextend on

next 32m maxsize 2048m

extent management local;

--創(chuàng)建用戶并指定表空間 aaaa順序意義:用戶名,密碼,表空間,臨時(shí)表空間

create user aaaa identified byaaaa

default tablespaceaaaa temporary tablespaceaaaa_temp;

--授予message用戶DBA角色的所有權(quán)限 此處的aaaa只表示用戶名

GRANT DBA TOaaaa;

grant resource to aaaawith admin option; --需添加這句話否則連接的時(shí)候會(huì)報(bào)錯(cuò)...

2.3再次創(chuàng)建連接,使用新創(chuàng)建的用戶連接

2.4、連接建立后,右鍵連接,移植資料檔案庫(kù)--關(guān)聯(lián)移植資料檔案庫(kù)--點(diǎn)擊確定

2.5、連接mysql(就是需要進(jìn)行移植到的mysql數(shù)據(jù)庫(kù)),點(diǎn)擊選擇數(shù)據(jù)庫(kù)后確定

3、移植mysql中的表到數(shù)據(jù)庫(kù)

3.1、在剛剛建立的mysql中選擇需要進(jìn)行移植的數(shù)據(jù)庫(kù)(也可以點(diǎn)擊加號(hào),批量選擇需要移植的表,此處移植整個(gè)數(shù)據(jù)庫(kù),所以我在數(shù)據(jù)庫(kù)上右鍵了),右鍵選擇捕獲方案

等待

3.2、在剛捕獲的模型中選擇需要的數(shù)據(jù)庫(kù)或者表等,點(diǎn)擊轉(zhuǎn)換為Oracle模型

3.3、設(shè)置數(shù)據(jù)映射,一般默認(rèn)即可(但是我的項(xiàng)目中mysql使用了datetime和timestamp,如果默認(rèn)會(huì)轉(zhuǎn)為oracle中的date,從而失去了時(shí)分秒,如果必須需要十分秒的話,此處映射可以將timestamp--timestamp,但是datetime這里好像是無(wú)法轉(zhuǎn)換為timestamp,只能后面手動(dòng)修改了...悲劇...),此后點(diǎn)擊應(yīng)用,同樣進(jìn)入進(jìn)度條

3.4、右鍵點(diǎn)擊剛剛捕獲的方案,因?yàn)樵谏傻臅r(shí)候,他會(huì)根據(jù)方案名稱重新創(chuàng)建用戶,并將生成的表存放到該用戶下,所以建議重命名方案,將其修改為我們需要的用戶名稱(用戶名與密碼相同),用戶名稱也就是我們jdbc或者h(yuǎn)ibernate連接數(shù)據(jù)庫(kù)時(shí)將要使用的名稱。完成后點(diǎn)擊生成。

3.5、生成建立表的sql語(yǔ)句,點(diǎn)擊下列紅色框按鈕開始執(zhí)行...等待

3.6、執(zhí)行后,在創(chuàng)建連接,使用我們執(zhí)行sql中的用戶名密碼(也就是方案名稱),連接后,你會(huì)發(fā)現(xiàn),表已經(jīng)生成了

表移植完畢

4、數(shù)據(jù)的移植

4.1、右鍵上次我們創(chuàng)建的轉(zhuǎn)換的模型,選擇移動(dòng)數(shù)據(jù)

4.2、選擇源與目標(biāo)(目標(biāo)是我們剛剛建立表的那個(gè)連接)

4.3、進(jìn)入移動(dòng)數(shù)據(jù)進(jìn)度條,等待后,數(shù)據(jù)移動(dòng)完成。

請(qǐng)問使用excel在線編輯當(dāng)新增列的時(shí)候MySQL應(yīng)該怎么做存儲(chǔ)呢!

MYsql具備導(dǎo)入其他數(shù)據(jù)庫(kù)的功能,但EXCEl雖然可以當(dāng)成數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)數(shù)據(jù),但他的若干工作表的存儲(chǔ)方式,給EXCEL直接導(dǎo)入其他數(shù)據(jù)庫(kù)帶來(lái)麻煩。

建議使用EXCEL2003版本,將某一工作表數(shù)據(jù)存儲(chǔ)為DBF格式,再將DBF格式數(shù)據(jù)導(dǎo)入到Mysql中。

網(wǎng)頁(yè)標(biāo)題:dbf怎么傳到mysql dbf文件導(dǎo)入sqlserver數(shù)據(jù)庫(kù)
鏈接分享:http://muchs.cn/article22/dohcdjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器網(wǎng)站改版、面包屑導(dǎo)航、移動(dòng)網(wǎng)站建設(shè)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司