具有挑战性的问题。如何实现大量数据的转移

Iamshigang 2005-02-22 04:52:57
Access中
有表A 数据100万,
表B 数据50万
sqlserver数据库中
也有表A
表B表结构均与Access中的对应表结构相同
现在,要将Access中的表A和表B的某些字段的值做更该后导入sqlserver中相应的表
Access中的表A(少数字段的数据进行更改)------》sqlserver中的表A
Access中的表B(少数字段的数据进行更改)------》sqlserver中的表B
请问有什么方法,能做成
1)事物型 两个表要么均导入,要么均不导入
2)有效率 导这150万的数据所花费的时间要在客户承受范围以内
这两个数据库均在本机上
openrowset我实验过,有效率,但不支持事务
1)程序中同时打开两钟连接,逐条语句插入,是否可行
2若用存储过程,又该如何做
3是否还有其它的方法
...全文
177 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Iamshigang 2005-02-25
  • 打赏
  • 举报
回复
我已经知道答案了,将openrowset用于子查询中,就可以又有效率,又具有事物性
july 2005-02-25
  • 打赏
  • 举报
回复
学习啊
Iamshigang 2005-02-25
  • 打赏
  • 举报
回复
可以把两个都用在SQL中,因为原理是一样的。
Iamshigang 2005-02-25
  • 打赏
  • 举报
回复
这些数据是根据需要进行更新的,时间是随机的,我运行这个功能用了八分钟,语句例子如下
begin transaction
........
insert into b_table(a,b,c,d ) select a,b,c,d from OPENROWSET(''Microsoft.Jet.OLEDB.4.0'', '''+rtrim(@accessPath)+''';''admin'';'''', a_table)
.......
end transaction
FatSpiders 2005-02-25
  • 打赏
  • 举报
回复
请问一下,这些数据是需要常常更新的。
还是过一段时间再更新一次的呢。~
可不可以把二个都用在SQL中呢,因为ACCESS用这么大的记录效率不高,如果二个都是用SQL的话不是更加好吗?
请问一下,你运行这个功能用了多少时间。 最近我也是在做一个数据量大的东西。。。 所以想请教一下。
Iamshigang 2005-02-24
  • 打赏
  • 举报
回复
alipaymate 2005-02-23
  • 打赏
  • 举报
回复
关注!!!
leeym2003 2005-02-23
  • 打赏
  • 举报
回复
楼主是否考虑一下非MS的数据库导入/导出工具
pbsql 2005-02-23
  • 打赏
  • 举报
回复
用存储过程,通过openrowset导,应该是效率最高的了,程序中同时打开两连接逐条插入效率最差

通过openrowset导两表,虽然不在同一事务中,但可以检测导了没导,导了就不导呗
hjpan_dy 2005-02-23
  • 打赏
  • 举报
回复
是否能够用存储过程写,最好是自动定时处理数据
Sakiny 2005-02-22
  • 打赏
  • 举报
回复
这个和我现在的一个难题差不多
等待回答
火山企鹅 2005-02-22
  • 打赏
  • 举报
回复
如果是做数据转移最好还是用SQL本生的DTS工具最好

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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