直接用SQL语句把DBF导入SQLServer

数据库 专栏收录该内容
13 篇文章 0 订阅

告诉大家一个直接用SQL语句把DBF导入SQLServer,以及txt导入Access的方法,大家抛弃BatchMove吧
来自:碧血剑
告诉你一个最快的方法,用SQLServer连接DBF
在SQLServer中执行
SELECT * into bmk
FROM OpenDataSource( ’Microsoft.Jet.OLEDB.4.0’,
 ’Data Source=”e:/share”;User ID=Admin;Password=;Extended properties=dBase 5.0’)...bmk
这样就可以把e:/share中的bmk.dbf表导入到Sqlserver中,
速度是最快的
把压箱底的方法都告诉大家
在Form上放一个ADOConnection,连结指向目标Access库
比如txt文件在c:/temp/aaaa.txt
就执行
ADOConnection.Connected := True;
ADOConnection.Execute(’Select * Into abcd From [Text;Database=c:/temp].aaaa.txt’);
就一切Ok了,这个方法一定行的,我好不容易才研究出来的
有了这两个例子,异构数据库之间导数据的问题就举一反三,迎刃而解了。

----转自大富翁(http://www.delphibbs.com/delphibbs/dispq.asp?lid=1691966)  

 自己的使用实例如:

/*功能: 实现  dbf表  到  sql表  自动转换语句*/
select  人才编号, 姓名, 性别, 出生日期,
  民族, 政治面貌 ,学历编码,专业编码,
  职业编码,职务编码,职称编码,行业编码,
  工作单位,地域编码,通信地址,联系电话,
  行业带头码,主要专长,主要业绩,备注
 into renCaiInf表2 from
 openrowset('MSDASQL'
  ,'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=F:/Program Files/贵州省乡土人才管理系统/temp'
  ,'select * from  RcDataBAK.DBF '
 );


/*功能: 实现  xls表  到  sql表  自动转换语句 */
select  * from rencaiinf order by 人才编号 asc

delete from renCaiInf where 姓名='李刚'

insert into renCaiInf
 select  人才编号, 姓名, 性别, 出生日期,
  民族, 政治面貌 ,学历编码,专业编码,
  职业编码,职务编码,职称编码,行业编码,
  工作单位,地域编码,通信地址,联系电话,
  行业带头码,主要专长,主要业绩,备注 
 from OpenRowSet('MICROSOFT.JET.OLEDB.4.0' ,
 'Excel 8.0;HDR=YES;DATABASE=C:/Documents and Settings/Administrator/桌面/源表1.xls;Extended properties=Excel 5.0'
 ,sheet1$)
 where 人才编号 is not NULL;

 

insert into
 select distinct 所在地
 from OpenRowSet('MICROSOFT.JET.OLEDB.4.0' ,
 'Excel 8.0;HDR=YES;DATABASE=C:/Documents and Settings/Administrator/桌面/乡土人才名册.xls;Extended properties=Excel 5.0'
 ,sheet1$)
 where 人才编号 is not NULL and 所在地 is not null ;

 

delete from xuelidic

update  hangYedic
 set 行业名称='畜牧业'
  where 行业编码='A03'; 
select * from hangyedic where 行业编码='A05' order by 行业编码 asc

insert into hangyedic values( 'A05' , '农,林,牧,渔服务业'  )

 

 

 

 

 


  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值