★★★ 两个棘手问题 ,请多帮忙 ★★★

Cooly 2003-07-25 11:28:52
第一个问题:如何快速将DBF的数据导入SQL Server中的临时表(实时更新数据),最好不要用DTS,要求高效率(1秒钟三次),数据量大约2000条左右.如果1秒钟根本做不到也请告知。

第二个问题:如何进行差异更新?即判断上次导入的数据与本次数据不同的数据,然后对SQL中的数据进行更新(实际上是为了提高导入的效率)。

两个问题各100分。多谢了,很急!
...全文
64 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cooly 2003-07-25
  • 打赏
  • 举报
回复
TO CrazyFor(上苍保佑吃完了饭的人民) :

如果用DTS,是否可以保证数据的完整性和实效性?我需要做的是一个股票行情的数据接口。不知道用SQL Server是否合适。
CrazyFor 2003-07-25
  • 打赏
  • 举报
回复
我还是建议用DTS来做,速度快,而且简单方便.
happydreamer 2003-07-25
  • 打赏
  • 举报
回复
1。在ODBC资源管理器中,新建立一个[用户数据源],如:“test".数据类型选[free table directory],在[path]中添入你的DBF文件所在的路径。
2。在企业管理器中:
选中结果数据库,点右键,选择[所有任务][IMPORT DATA]
3。[下一步],在source中,选则[microsoft dbase vfp driver]
选择user/system dsn,在下拉提示中选择[test]
4。[下一步],使用现有的数据
5。[下一步],copy tables ....
6. [下一步],选择要导入的表
7。开始导入
8。完成


SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="F:\Borland\Shared\Data\";Extended properties=dbase 5.0')...animals

--animals.dbf


2

if exists(select 1 form 源表 where 主键 not in (select 主键 form 目的表))
insert into 目的表 (col1,col2....) select col1,col2.... from 源表 where 主键 not in (select 主键 form 目的表)

start1127 2003-07-25
  • 打赏
  • 举报
回复
差异更新你自己最好不做,数据量大了不能做,数据量小的话,也不需要差异更新,完全更新就行了
start1127 2003-07-25
  • 打赏
  • 举报
回复
OPENROWSET
viptiger 2003-07-25
  • 打赏
  • 举报
回复
问题一:
insert YouTable SELECT a.*
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'c:\MSOffice\Access\Samples\northwind.DBF';'admin';'mypwd', Orders)
AS a

34,571

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧