两个数据库A和B有一个相同的表table1,如何实现把A.table1的一行记录插入到B.table1

suzhuo 2005-11-14 09:11:58
如题.
数据库A为Oracle数据库
数据库B为SqlServer数据库

还有,本地访问网络的Oracle数据库,需要在本地安装Oracle的客户端吗?
...全文
158 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
suzhuo 2005-11-14
  • 打赏
  • 举报
回复
to: ybzsu(弑君者)

我试过了,好像没有反应啊!
下面是一段代码.(tempdb数据库里的表Region与northwind数据库中的表Region结构相同)
SqlConnection cn1,cn2;
cn1=new SqlConnection("Server=myserver;database=NorthWind;uid=sa");
cn2=new SqlConnection("Server=myserver;database=tempdb;uid=sa");
cn1.Open();
cn2.Open();
DataSet ds=new DataSet();
// DataTable dt1=new DataTable("Region1");
// DataTable dt2=new DataTable("Region2");

SqlDataAdapter da1;
SqlDataAdapter da2;
da1=new SqlDataAdapter("Select * from Region",cn1);
da2=new SqlDataAdapter("Select * from Region",cn2);
da1.Fill(ds,"Region1");
da2.Fill(ds,"Region2");
foreach(DataRow dr in ds.Tables["Region1"].Rows)
{
object[] temp=dr.ItemArray;
ds.Tables["Region2"].Rows.Add(temp);

}
ds.AcceptChanges();
da2.Update(ds,"Region2");
jujuxys 2005-11-14
  • 打赏
  • 举报
回复
如果要用SQL语句实现,可以看看Sql Server的Book on line中关于OPENROWSET和分布式查询的描述。
zr1982930 2005-11-14
  • 打赏
  • 举报
回复
确实是一件繁琐&无聊地事啊!
ybzsu 2005-11-14
  • 打赏
  • 举报
回复
可以
声明一个DataSet,然后把你要插入到SqlServer的数据一条一条的添加到DataSet里,然后再SqlDataAdapter.Update(theDataSet);这样的话SqlServer也是一条一条的插,只不过不用你来做罢了
suzhuo 2005-11-14
  • 打赏
  • 举报
回复
我的意思是说,能不能不通过构造一个冗长的insert string 来实现
,而通过A.Table1.Rows 里的对象来直接插入到B.table1
hzysoft 2005-11-14
  • 打赏
  • 举报
回复
ORACLE数据库当然要字装啊
还有你先把SQLSERVER里面的数据读出来然后再取值存到ORACEL就OK了,这样相互操作!!~
huhui223 2005-11-14
  • 打赏
  • 举报
回复
关注

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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