社区
C#
帖子详情
【请教】关于同步两个数据库的数据问题?
Gangelwn
2010-06-05 08:14:28
我这里有两个数据库一个是oracle(在服务器),一个是Sqlite(在本地电脑),我需要将oracle上的某些表的数据批量插入到sqlite中,数据量从一万条到十万条不等。
本人是菜鸟只会用最基本的方法,就是:将oracle数据读取到一个DataSet里,然后再循环将数据插入到Sqlite中。但是这样的方法效率很慢,特别是在将数据保存到DataSet的过程里是最耗时的,插入的时候也不是很理想,请问各位大侠有没有其他的办法可以教一下小弟?先谢谢了!
...全文
469
32
打赏
收藏
【请教】关于同步两个数据库的数据问题?
我这里有两个数据库一个是oracle(在服务器),一个是Sqlite(在本地电脑),我需要将oracle上的某些表的数据批量插入到sqlite中,数据量从一万条到十万条不等。 本人是菜鸟只会用最基本的方法,就是:将oracle数据读取到一个DataSet里,然后再循环将数据插入到Sqlite中。但是这样的方法效率很慢,特别是在将数据保存到DataSet的过程里是最耗时的,插入的时候也不是很理想,请问各位大侠有没有其他的办法可以教一下小弟?先谢谢了!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
32 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ysy4413
2010-06-09
打赏
举报
回复
学习下
Gangelwn
2010-06-09
打赏
举报
回复
我最终是要实现 pda(SQLite数据库)<--> 本地电脑 <--> 服务器(oracle数据库)
pda与服务器上的数据双向同步的!每天都需要同步几次数据~
zhangyongtian_0810
2010-06-09
打赏
举报
回复
路过 ....
xyz136299110
2010-06-09
打赏
举报
回复
我觉得4楼的方法可以,但是如果正好相反呢?
如果是从SQL中导出15-25万条数据(10-25个字段),然后再放到ORACLE呢?
有没有什么好的办法?
xyz136299110
2010-06-09
打赏
举报
回复
[Quote=引用 1 楼 computerfox 的回复:]
对Oracle和SqlLite不太熟悉,是否可以将oracle的表dump出一个文件,然后在SqlLite导入,如果可以这样,你可以考虑用Process调用相应的程序实现,速度应该是最快的。
[/Quote]
你这个不行滴,用WEB服务,你想下,1-10万行,如果字段多点,绝对内存溢出。(如果低于2G,甚至4G的话)
Gangelwn
2010-06-09
打赏
举报
回复
谁还有什么好办法呢?
jwy0126
2010-06-08
打赏
举报
回复
用“导入数据”这个功能。
逢桥夜泊
2010-06-08
打赏
举报
回复
楼主可以留个联系方式么
Gangelwn
2010-06-08
打赏
举报
回复
Any help is appreciated~
Alan_pft
2010-06-08
打赏
举报
回复
监控 timer
hurricane880
2010-06-07
打赏
举报
回复
我估计读取速度慢的原因不是程序本身的问题,也许是你网络的问题,楼主拿程序去oracle 服务器上读一下看看是不是也是需要50s。
关注中。。。。
qiqishardgel
2010-06-07
打赏
举报
回复
学习,帮顶!
Gangelwn
2010-06-07
打赏
举报
回复
[Quote=引用 17 楼 hurricane880 的回复:]
我估计读取速度慢的原因不是程序本身的问题,也许是你网络的问题,楼主拿程序去oracle 服务器上读一下看看是不是也是需要50s。
关注中。。。。
[/Quote]
不是网络的原因!!!
zhoulingsmile
2010-06-07
打赏
举报
回复
不大会咧。。呵呵。。帮你顶一个。。加油喽。。
Gangelwn
2010-06-07
打赏
举报
回复
[Quote=引用 20 楼 bingxue6688 的回复:]
我认为解决方式有幾种方式:
1,数据库的讀取,你主要的问题是数据库读取慢,这是要首先解决的。读取慢最大的问题是索引没有用到,你要咨询Oracle那边创建的索引是什么样,你的查询语句里面有没有用到索引。如果索引OK千万级的数据库读取速度应该在5秒以内。
2,数据库的写入,如楼上所说用事务是一种处理方式。如果数据库的索引创建太多是很影响写入速度,所以写入多的表应该創建尽量少的索引。我不知道你用的……
[/Quote]
谢谢!!!
我们是在windows mobile5.0上开发的一个读条形码的系统
MicroYang6688
2010-06-07
打赏
举报
回复
我认为解决方式有幾种方式:
1,数据库的讀取,你主要的问题是数据库读取慢,这是要首先解决的。读取慢最大的问题是索引没有用到,你要咨询Oracle那边创建的索引是什么样,你的查询语句里面有没有用到索引。如果索引OK千万级的数据库读取速度应该在5秒以内。
2,数据库的写入,如楼上所说用事务是一种处理方式。如果数据库的索引创建太多是很影响写入速度,所以写入多的表应该創建尽量少的索引。我不知道你用的Sqllite數據庫,如果是SQL數據庫可以批量更新,不需要循環一條一條的插入,查一下幫助看可不可以批量更新。
3,最好的解決方式,是在數據庫寫個定時任務,每個一段時間(1個小時或一天)主動去拉數據到本地,不是說要等到用戶點按鈕的時間才去Oracle讀取。這樣你只需要優化本地數據庫就可以了,讀取慢和寫入慢點都不是問題了。
希望能幫到你。
悔说话的哑巴
2010-06-06
打赏
举报
回复
[Quote=引用 5 楼 gangelwn 的回复:]
我现在是从服务器上读取Oracle的数据(一万条),保存到dataSet中,这个过程差不多50秒的时间
然后再插入到sqlite中大概10秒的时间!
但实际运行的电脑配置更差,所以更耗时。。。所以希望能找个好方法提高性能!
[/Quote]
那只有去优化代码了
Gangelwn
2010-06-06
打赏
举报
回复
SQLite数据库应该是没办法使用SqlBulkCopy类的???
写入sqlite,我是用的事务操作的。
原Oracle数据库,由于不是我电脑上的,我无法更改建立索引。
sql语句只是简单的select from 表 where 两个简单的条件,不知道还能怎么优化?
空心兜兜
2010-06-06
打赏
举报
回复
关注此类问题
Gangelwn
2010-06-06
打赏
举报
回复
[Quote=引用 6 楼 psixm 的回复:]
LZ能把你实现的这个实例发给我一下么,十分感激,我想参考一下,最近看这方面的东西弄得头晕,我的邮箱地址psixm@sina.com,谢谢啦
[/Quote]
抱歉啊,我也没有源代码啊~
加载更多回复(11)
如何实现
两个
数据
库
之间的
同步
下载网站:www.SyncNavigator.CN客服QQ1793040----------------------------------------------...关于HKROnline SyncNavigator 注册机价格的
问题
HKROnline SyncNavigator 8.4.1 非破解版 注册机 授权激活教程 ...
实现
两个
数据
库
之间的
数据
同步
SyncNavigator是一款功能强大的
数据
库
同步
软件,适用于SQLSERVER, MySQL,具有自动/定时
同步
数据
、无人值守、故障自动恢复、同构/异构
数据
库
同步
、断点续传和增量
同步
等功能,支持Windows xp以上所有操作系统,适用...
Sqlserver使用触发器
同步
两个
服务器上的相同
数据
库
表中的信息
我有
两个
服务器,
两个
服务器上有相同的
数据
库
,相同的表结构。想在一个服务器上操作
数据
库
以后,对
数据
库
的操作
同步
到另外一个服务器的
数据
库
上,不知道使用
数据
库
的触发器怎么设置,
请教
牛人 一、镜像可以保证...
Kettle
数据
同步
原始表和目标表的
数据
对比技术
请教
与讨论
1. 2个
数据
库
在做
数据
同步
的传输,
数据
库
A为 mysql
数据
库
B 为 sqlserver 2. 每次将
数据
库
A的表table1
同步
到
数据
库
B的table2 3.
同步
的时候 是根据 主键GID 为唯一性的判断, GID+时间+ 状态码 是更新的判断依据 ...
数据
库
中两张表之间的
数据
同步
实现思路(增加、删除、更新)Mysql、sqlserver
下载网站:www.SyncNavigator.CN客服QQ1793040-----------------------------------------...关于HKROnline SyncNavigator 注册机价格的
问题
HKROnline SyncNavigator 8.4.1 非破解版 注册机 授权激活教程 ...
C#
111,094
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章