首先要在mysql里面建立一个数据库,结构和mssql里面数据库一样的,然后把mdf文件附加到mssql里面,然后用php连接mssql,从mssql里面读取,然后插入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
方法一:查询分析器中执行如下语句(先选择对应的数据库)
--如果接受导入数据的SQL表已经存在
insert
into
已经存在的SQL表名
select
*
from
openrowset('MSDASQL','Driver=Microsoft
Visual
FoxPro
Driver;SourceType=DBF;SourceDB=c:\','select
*
from
aa.DBF')
--也可以对应列名进行导入,如:
insert
into
已经存在的SQL表名
(列名1,列名2...)
select
(对应列名1,对应列名2...)
from
openrowset('MSDASQL','Driver=Microsoft
Visual
FoxPro
Driver;SourceType=DBF;SourceDB=c:\','select
*
from
aa.DBF')
--如果接受导入数据的SQL表不存在,导入时创建
--方法一:
select
*
into
要生成的SQL表名
from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase
IV;HDR=NO;IMEX=2;DATABASE=c:\','select
*
from
dbf表名.dbf')
--方法二:
select
*
into
要生成的SQL表名
from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase
III;HDR=NO;IMEX=2;DATABASE=c:\','select
*
from
dbf表名.dbf')
--方法三:
select
*
into
要生成的SQL表名
from
openrowset('MSDASQL','Driver=Microsoft
Visual
FoxPro
Driver;SourceType=DBF;SourceDB=c:\','select
*
from
dbf表名.DBF')
--用前两种方法导入SQL
SERVER后,源表再用VFP打开就不提示“不能存取文件”,说明语句执行后就把源表关闭了。不过也有不尽人意的地方,就是用前两种方法导入后,源表中的字符型字段导入后SQL表字段对应变成NVARCHAR了。
--第三种方法有一个缺点:把DBF表导入SQL
Server中后,马上用VISUAL
FOXPRO打开DBF表,会提示“不能存取文件”,即这个表还被SQL打开着呢。可是过了1分钟左右,再打开DBF表就可以了,说明经过一段时间后查询分析器才把这个表关闭。
--也可以只导几个字段
select
*
into
要生成的SQL表名
from
openrowset('MSDASQL','Driver=Microsoft
Visual
FoxPro
Driver;SourceType=DBF;SourceDB=c:\','select
字段1,字段2
from
aa.DBF')
/*--说明:
SourceDB=c:\
c:\是dbf文件的存放目录
aa.DBF
是dbf文件名
--*/
MYsql具备导入其他数据库的功能,但EXCEl虽然可以当成数据库来存储数据,但他的若干工作表的存储方式,给EXCEL直接导入其他数据库带来麻烦。建议使用EXCEL2003版本,将某一工作表数据存储为DBF格式,再将DBF格式数据导入到Mysql中。