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

wanggjvc 2005-03-24 04:45:57
本人现在用的是数据管道从sql server下载数据到本地asa8,但是数据很慢2万条数据,要传送5分钟,有什么比较快速的方法吗?拷贝文件也不会那么慢啊
我的数据管道用的是update and insert,那位大虾有好的建议?
...全文
197 23 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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平台的)
加载更多回复(3)

754

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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