谁有更好的方法从不同的数据库传递数据?

wanggjvc 2005-03-24 04:45:57
本人现在用的是数据管道从sql server下载数据到本地asa8,但是数据很慢2万条数据,要传送5分钟,有什么比较快速的方法吗?拷贝文件也不会那么慢啊
我的数据管道用的是update and insert,那位大虾有好的建议?
...全文
171 点赞 收藏 23
写回复
23 条回复
wanggjvc 2005年04月01日
太麻烦了,一个商场20台机器,一个一个设置,累死。有简便的办法吗
回复 点赞
wanggjvc 2005年04月01日
该页无法显示?访问不了
回复 点赞
lzheng2001 2005年04月01日
刚才打字错了许多,更正一下
//tranASA是asa事务,自己声明
Datastore lds_source,lds_target
String ls_create, ls_err
ls_create = sqlca.SyntaxFromSQL("select dm, mc from 表", "type(style=grid)", ls_err)
If Len(ls_err) > 0 Then
MessageBox("错误", "sql语句错误!")
Return
End If

lds_source = create Datastore
lds_source.Create(ls_create, ls_err)
If Len(ls_err) > 0 Then
Destroy lds_source
MessageBox("错误", "sql语句错误!")
Return
End If

lds_target = create Datastore
If Len(ls_err) > 0 Then
Destroy lds_target
MessageBox("错误", "sql语句错误!")
Return
End If

lds_source.SetTransObject(SQLCA)
lds_source.Retrieve()

lds_target.SetTransObject(tranAsa)
lds_target.object.datawindow.data = lds_source.object.datawindow.data
If lds_target.Update() = 1 Then
Commit Using tranAsa;
Else
Rollback Using tranAsa;
MessageBox("失败", "保存失败!")
End If

Destroy lds_source
Destroy lds_target
回复 点赞
lzheng2001 2005年04月01日
你试试用datastore做看性能能否提高

datastroe实现不同数据库间传输数据的例子
Datastore lds_source
String ls_create, ls_err
ls_create = sqlca.SyntaxFromSQL("select dm, mc from 表", "type(style=grid)", ls_err)
If Len(ls_err) > 0 Then
MessageBox("错误", "sql语句错误!")
Return
End If

lds_source = create Datastore
lds_source.Create(ls_create, ls_err)
If Len(ls_err) > 0 Then
Destroy lds_source
MessageBox("错误", "sql语句错误!")
Return
End If

lds_taget = create Datastore
If Len(ls_err) > 0 Then
Destroy lds_taget
MessageBox("错误", "sql语句错误!")
Return
End If

lds_source.SetTransObject(SQLCA)
lds_source.Retrieve()

lsd_target.SetTransObject(tranAsa)
lsd_target.object.datawindow.data = lsd_source.object.datawindow.data
If lds_target.Update() = 1 Then
Commit Using tr_code_sqlca;
Else
Rollback Using tr_code_sqlca;
MessageBox("失败", "保存失败!")
End If

Destroy lds_source
Destroy lds_target
回复 点赞
kevin3000 2005年03月31日
关于mobilink,你可以去
http://www.pdriver.com/bbs5/list.asp?boardid=121
回复 点赞
wanggjvc 2005年03月30日
再up,csdn里的人都没有用过吗?
回复 点赞
j9dai 2005年03月30日
关注 + 友情UP
回复 点赞
wanggjvc 2005年03月30日
还是不行啊,快不了,什么bcp?
回复 点赞
wanggjvc 2005年03月30日
Commit参数加到100000,速度快了很多,多谢
回复 点赞
huang43 2005年03月28日
把Data Pipeline 的Commit参数设到最大,再试试
回复 点赞
anglequhongmei 2005年03月28日
如果不需要处理关键字重复的问题,用bcp来完成,又简单速度也不错.
回复 点赞
ach1076 2005年03月25日
数据管道速度已经是最快的了 你试一下用excel做中间介质效果怎么样
回复 点赞
hygougou 2005年03月25日
Dts

技术

1.drop table table1
2.create table table1
3.数据源到数据目的导table1数据
4.ALTER TABLE ...ADD CONSTRAINT... PRIMARY KEY ...

或者使用SQL SERVER的导出工具
回复 点赞
wanggjvc 2005年03月25日
我下载数据是为了和服务器断开也可以读取数据,
mobilink要单独安装吗?
方便安装吗,我客户端不安装asa的哦。直接拷贝asa文件过去然后再pb里自动注册odbc实现连接数据库的
回复 点赞
wanggjvc 2005年03月25日
我安装的asa好像没有dbmlsrv8文件哦。 如何做?请指导
回复 点赞
wanggjvc 2005年03月25日
可以在pb里实现吗? 还是要配置其它的服务?
回复 点赞
xiao_bai 2005年03月25日
如果一次性导慢的话,就分开试试。服务器建临时表,增量数据复制到临时表内。建立一个作业,每隔一定时间,自动发送到ASA
回复 点赞
sharelove 2005年03月25日
ASA自己带的同步服务器Mobilink呀
这个值得研究!
回复 点赞
wjlforever 2005年03月25日
来看看!
回复 点赞
kevin3000 2005年03月24日
你可以用ASA自己带的同步服务器Mobilink呀,他可以和SQL Serve,oracle,db2同步数据.我们曾经作过试验,用Mobilink同步oracle和ASA,一个13列的数据表,36000多条数据,不到20秒。(我们用的Mobilink是AIX unix平台的)
回复 点赞
发动态
发帖子
数据库相关
创建于2007-09-28

494

社区成员

1.2w+

社区内容

PowerBuilder 数据库相关
社区公告
暂无公告