异构数据库之间完全可以用SQL语句导数据。大家抛弃BatchMove吧 如果觉得好请Up一下,如果觉得不好也请Up一下 (1分)

  • 主题发起人 碧血剑
  • 开始时间

碧血剑

Unregistered / Unconfirmed
GUEST, unregistred user!
告诉你一个最快的方法,用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了,这个方法一定行的,我好不容易才研究出来的
有了这两个例子,异构数据库之间导数据的问题就举一反三,迎刃而解了。

把Excel导入到Access中,同txt类似
select * into <table name> from [excel 8.0;database=<filename>].[<sheetname>$]

我最讨厌别人用BatchMove导数据了,明明一个SQL的事情,偏要。。。
我的目标是让大家抛弃BatchMove
 
B

bbs-wqt

Unregistered / Unconfirmed
GUEST, unregistred user!
谢谢!!!!
 
C

chshanghai

Unregistered / Unconfirmed
GUEST, unregistred user!
不错,不错,刚试过, 很好,很好很好很好很好很好


 
R

rogue_xu

Unregistered / Unconfirmed
GUEST, unregistred user!
從哪裡學到的,敬仰中!
 
C

chshanghai

Unregistered / Unconfirmed
GUEST, unregistred user!
不错,是不错, 不过对foxpro 6.0中有些字段是打不开的. 像foxpro 中datetime 类型的字段.
 
B

bbs-wqt

Unregistered / Unconfirmed
GUEST, unregistred user!
佩服!好!不错!很棒!
帅呆了![h4][green]酷逼乐!![/green][/h4][:D][:(!]
 

碧血剑

Unregistered / Unconfirmed
GUEST, unregistred user!
to: chshanghai
对于VFP6.0,那就要换Extended properties属性了
理论上只要是ODBC能实现连结的数据库的,都可以的
当然不是所有的数据库了:)
 
T

txm

Unregistered / Unconfirmed
GUEST, unregistred user!
好!早几天看到就好多了[:D]
不过现在也不迟的[^]
谢谢!!!
 
D

dhl2001

Unregistered / Unconfirmed
GUEST, unregistred user!
第二个方法很棒,
 

风姿

Unregistered / Unconfirmed
GUEST, unregistred user!
hao .佩服。
 
C

coolfun

Unregistered / Unconfirmed
GUEST, unregistred user!
真的很佩服你啊。前几天还寻找这样的方法都没找到。昨天只能自己用循环搞定了,不过
也不晚啊,马上换代码,哈哈。
 
C

coolfun

Unregistered / Unconfirmed
GUEST, unregistred user!
不过还想问一下,怎么用SQL语句把ACCESS表导出TXT文件中?
 
S

sky0061

Unregistered / Unconfirmed
GUEST, unregistred user!
试试先,如果可能就太棒了。
不管怎么样,谢谢楼主先,这是个好经验。
 

斗士

Unregistered / Unconfirmed
GUEST, unregistred user!
速度还可以,28858行数据花费46秒;
不过这行SQL是否可以在程序中运行,SQL.Add(),ExecSQL;
另如何把SQL Server的表导出到Access、Text、Dbf。
 

碧血剑

Unregistered / Unconfirmed
GUEST, unregistred user!
to :coolfun
ADOConnection.Execute('Select * Into [Text;Database=c:/temp].aaaa.txt From aaaa');
to: :斗士
当然可以在程序中运行
SQL Server表导出和txt导入一个道理
基本上都是用Jet4.0 和 ODBC连结实现
先用用Jet4.0连结dbf,access,txt然后利用SQL语句导出导入
在此我就不详细说了,一句话,都可以的
列出连结串属性Extended properties,
DBase 5.0
DBASE IV
FoxPro 3.0
Paradox 7.X
Excel 8.0
text;HDR=YES;FMT=Delimited

SELECT * into aaa
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:/temp/";User ID=Admin;Password=;Extended properties=Text')...[bb#txt]

 
C

chshanghai

Unregistered / Unconfirmed
GUEST, unregistred user!
to 楼主;
我以前用过openquery 这个过程. 感觉与openquery 差不多.
想问一下 opendatasource 与 openquery 有什么区别? 谢谢.

还有 opendatasource 是哪里的. 好像我在帮助里没有找到.
 

碧血剑

Unregistered / Unconfirmed
GUEST, unregistred user!
to
openquery 需要先建立链接服务器
openrowset和opendatasource不用,在SQLServer联机帮助都可以查到
 
N

ninsen

Unregistered / Unconfirmed
GUEST, unregistred user!
TO 碧血剑
仁兄果然是高手,不但技术好而且还乐意和别人分享知识,我最佩服这种人。请问仁兄
有OICQ吗?可否让小弟加你为好友,遇到问题也可以请仁兄请教。
可能小弟头脑比较笨,按照你的方法研究了很久也没能研究出怎么样把Excel工作表导
出为mdb或sql数据库,请仁兄指教,不胜感激。
 

碧血剑

Unregistered / Unconfirmed
GUEST, unregistred user!
我刚才试验成功的
Excel联接ADO串
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/temp/a.xls;Extended
Properties="Excel 8.0;HDR=Yes;";Persist Security Info=False


Extended Properties参数属性这样写 Excel 5.0;HDR=YES;IMEX=1
IMEX=1就是指混合型转换为文本

SQLServer从Excel取数
SELECT *
FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="C:/temp/b.xls";Extended Properties="Excel 5.0;HDR=Yes;";Persist Security Info=False')...sheet1$

我的QQ号连我都不记得,不经常用
Email: jl1999@163.net
 
顶部