标题:求助 下面代码该怎样编写 谢谢
只看楼主
xilong83
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-10-28
 问题点数:0 回复次数:13 
求助 下面代码该怎样编写 谢谢

Set conn = New ADODB.Connection
conn.ConnectionString = "Provider=SQLOLEDB;Data Source=" & server & _
";Initial Catalog=" & dataName & _
";User Id=" & user & _
";Password=" & pwd & ";"

conn.Open

'数据库打开成功

Set cmd = New ADODB.Command
cmd.ActiveConnection = coon
cmd.CommandType = adCmdText
cmd.CommandText = "select fempid,fintime,finname,fouttime,foutname,fmanual from colliertrack_inout"

Set cmd.ActiveConnection = conn
Set rst = cmd.Execute

'查询完成


'打开另一个数据库

Set connh = New ADODB.Connection
connh.ConnectionString = "Provider=SQLOLEDB;Data Source=" & serverh & _
";Initial Catalog=" & dataNameh & _
";User Id=" & userh & _
";Password=" & pwdh & ";"
connh.Open

求助,将select的数据插入到第二个数据库的代码 该怎么编写啊 ,,谢谢了

搜索更多相关主题的帖子: 数据库 cmd Set 
2007-10-31 15:37
xlin1033xl
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:160
专家分:129
注 册:2007-6-24
得分:0 
参考你之前发的贴,有给你思路

-------------程序*酒*人生
2007-10-31 15:46
xilong83
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-10-28
得分:0 
实在是水平太垃圾啊,,想不出来了
2007-10-31 15:48
xlin1033xl
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:160
专家分:129
注 册:2007-6-24
得分:0 
给你个思路,
--------------------------------------------------------------单笔插入,
1)打开两个数据库连接gcndata,conn分别连接到两个不同的数据库
2)用记录集rs.Open sql,gcndata,adOpenKeyset ,adLockReadOnly
取出数据,其中sql是你的查询语句
3)然后用另外一个记录集hzrs打开另外一个库
hzrs.Open sql,conn,adOpenKeyset ,adLockReadOnly
这里sql中体现的是你要操作的表
4)执行如下语句
While Not rs.EOF
HzRs.AddNew
HzRs!feild1 = rs!feild1
......
HzRs!feildn = rs!feildn
HzRs.Update
HzRs.MoveNext
Wend
----------------------------------------------------------------批量操作
1)建立一个临时表,先把A库中提取出来的数据批量插入临时表
2)把临时表的数据批量插入B库
3)清空临时表并删除

-------------程序*酒*人生
2007-10-31 15:50
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
得分:0 
INSERT INTO database_A.dbo.table_A SELECT TOP 50 * FROM database_B.dbo.table_B ORDER BY [date] DESC

我的msn: myfend@
2007-10-31 15:52
xlin1033xl
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:160
专家分:129
注 册:2007-6-24
得分:0 
若是跨sqlserver和oracle??

-------------程序*酒*人生
2007-10-31 15:55
xilong83
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-10-28
得分:0 
对啊,就是在两个SQLserver之间,或者根本就是一个是SQLSERVER一个是ORACLE 数据库

想不明白该怎么弄了................
2007-10-31 16:29
xlin1033xl
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:160
专家分:129
注 册:2007-6-24
得分:0 

假设你要插入的表名是table_B,临死表名是table_Tmp(注意临时表的结构,要参考提取出来的数据和要插入的表的结构)
临时表建在你要插入的库中,假设从A到B库,则建在B中

执行如下操作
sql="insert into table_tmp(fempid,fintime,finname,fouttime,foutname,fmanual) (select fempid,fintime,finname,fouttime,foutname,fmanual from colliertrack_inout)"
connh.Execute sql

再执行如下操作
sql="insert into table_B(fempid,fintime,finname,fouttime,foutname,fmanual) (select fempid,fintime,finname,fouttime,foutname,fmanual from table_tmp)"
connh.Execute sql



[此贴子已经被作者于2007-10-31 16:57:52编辑过]


-------------程序*酒*人生
2007-10-31 16:52
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
得分:0 
以下是引用xilong83在2007-10-31 16:29:17的发言:
对啊,就是在两个SQLserver之间,或者根本就是一个是SQLSERVER一个是ORACLE 数据库

想不明白该怎么弄了................

创建DTS包..并执行..


我的msn: myfend@
2007-10-31 16:56
xilong83
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-10-28
得分:0 
2007-10-31 17:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-182289-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.898540 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved