数据库吸取,可不可以用多线程做?

zhangwuji156 2009-03-26 02:50:32
目的,从orcale数据库里找到相应数据,倒到access数据库中
用一个tquery1,select a, b, c, d from C1;
while(!tquery1->Eof)//结果不空
{
//这里用insert语句,一条一条往access数据库中加
tquery1->Next();
}
3万多条记录,近十几分钟,我想,可不可以像下载一样,来个多线程?分批导入?
...全文
76 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
我来看看CB 2009-03-29
  • 打赏
  • 举报
回复
oracle肯定有批量生成TXT格式的SQL语句,你再找到批量保存到access数据库的SQL语句就行了
ydlchina 2009-03-29
  • 打赏
  • 举报
回复
楼上的功能没用过学习了
xjq2003 2009-03-28
  • 打赏
  • 举报
回复
我们公司采用的数据库是oracle,但是由于其本地的庞大安装,不太适合演示用.为此建立一个本地的access数据库.因为表和数据都有现成的,都在oracle中,那怎么导到access中呢?
我在google上找了找,没有找好方法.于是想到delphi7下面的一个工具dataPump,使用了一下,觉得还不错.下面就告诉大家我是怎么导数据的,我相信一定有其他更方便的方法,欢迎各位朋友交流!


1)通过sql Explorer建立两个数据源
如图中的P350和P350Access
P350是oracel数据库
P350access是Access数据库(这里需要在ODBC中配置,要指定那个mdb文件的)


2)DataPump导数据
选要导入的oracle数据库P350,和被导入的access数据库P350Access,
再选索要导入的表.



按提示一路OK,就数据导好了(可能中间要调整一下,不然关键字段没有了),打开Access看一看,果然表和数据都在里面了.




oyljerry 2009-03-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhangwuji156 的回复:]
两位讲的都比较模糊,有没有更详细的说明呀?
[/Quote]
用一些别的工具等
http://www.cnblogs.com/sunsonbaby/archive/2004/11/21/66517.html
zhangwuji156 2009-03-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhangwuji156 的回复:]
这是想用多线程,读一表,写一个表,相当于多线程下载一个文件,如果这个比较复杂,
我现在想用多线程,读多个表,写多个表,一个线程负责读写一个。我用的是TQuery,
一个TQuery1肯定同一时间只能打开(查询)一个表,是吧?
比如TQuery1已经用一个select语句查询了东西,正在使用这个查询,不能关闭
那么,我TQuery *q = TQuery1;然后用q再去查询,这样冲突吗
[/Quote]
上面这种方法,相当于一个线程下载一个文件,但同时下载多个文件
zhangwuji156 2009-03-27
  • 打赏
  • 举报
回复
这是想用多线程,读一表,写一个表,相当于多线程下载一个文件,如果这个比较复杂,
我现在想用多线程,读多个表,写多个表,一个线程负责读写一个。我用的是TQuery,
一个TQuery1肯定同一时间只能打开(查询)一个表,是吧?
比如TQuery1已经用一个select语句查询了东西,正在使用这个查询,不能关闭
那么,我TQuery *q = TQuery1;然后用q再去查询,这样冲突吗
zhangwuji156 2009-03-27
  • 打赏
  • 举报
回复
两位讲的都比较模糊,有没有更详细的说明呀?
suine 2009-03-26
  • 打赏
  • 举报
回复
用IBM DATASTAGE吧,比自己编强。
我不懂电脑 2009-03-26
  • 打赏
  • 举报
回复
当然可以,不过使用DTS更方便

1,178

社区成员

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

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