首页 > 编程知识 正文

mysql导出dbf文件,mysql数据库导出db文件

时间:2023-12-28 21:10:56 阅读:328945 作者:OVFM

本文目录一览:

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:VFP98data;

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

?

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。