首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 求SQL2005两个数据库直接倒数据的存储过程! [已结帖,结帖人:guangyuxuan]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • guangyuxuan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-08-20 14:48:21 楼主
    各位老大,小弟有事求各位帮忙。现在我有两个数据库,这两个数据库在同一个服务器上。数据库A有表a1,数据库B有表b1,两个表的表结构完全一样,我想求一个在数据库B中运行的存储过程,可以吧数据库A中a1表的数据全都备份到表b1中。谢谢各位帮忙!
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • arrow_gx
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 15:01:041楼 得分:0
    生成脚本,需要手工改动一下表名,然后在 B 上执行一次,

    直接倒是不行的,表名不一样,通不过编译的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • guangyuxuan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 08:34:522楼 得分:0
    引用 1 楼 arrow_gx 的回复:
    生成脚本,需要手工改动一下表名,然后在 B 上执行一次,

    直接倒是不行的,表名不一样,通不过编译的


    没有一个简单的方法,只需创建一个存储过程,然后每次执行它就可以的吗?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wufeng4552
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 08:39:153楼 得分:30
    insert 数据库B.dbo.b1 select * from 数据库A.dbo.a1
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hery2002
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

      2

    发表于:2008-08-21 08:43:194楼 得分:0
    2005使用SSIS导入导出向导创建一个包,
    保存这个包,然后每次执行即可.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hery2002
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

      2

    发表于:2008-08-21 08:43:485楼 得分:0
    3楼的方式也可以.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • guangyuxuan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 09:22:436楼 得分:0
    请问三楼的老兄,访问不同的数据库的登录用户和密码不一样,需要怎么设置啊?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • guangyuxuan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 09:24:217楼 得分:0
    我写了这么个语句,不过好像不行不知道错哪里了
    INSERT INTO Table_1
    SELECT *
    FROM  OPENROWSET('msdasql', 'driver={sql server};server=.\sqlexpress; database = DateScheduler; integrated security=SSPI', 'SELECT * FROM DateScheduler.Table_1 ') AS a
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mugua604
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 09:25:358楼 得分:20
    创建个连接 !!

    --创建链接服务器
    exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'
    exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
    go

    --查询示例
    select * from srv_lnk.数据库名.dbo.表名

    --导入示例
    select * into 表 from srv_lnk.数据库名.dbo.表名

    --以后不再使用时删除链接服务器
    exec sp_dropserver 'srv_lnk','droplogins'
    go

    --如果只是临时访问,可以直接用openrowset
    --查询示例
    select * from openrowset('SQLOLEDB'
    ,'sql服务器名';'用户名';'密码'
    ,数据库名.dbo.表名)


    --导入示例
    select * into 表 from openrowset('SQLOLEDB'
    ,'sql服务器名';'用户名';'密码'
    ,数据库名.dbo.表名)
    在调用!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wufeng4552
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 09:38:479楼 得分:0
    INSERT INTO Table_1
    SELECT *
    FROM  OPENDATASOURCE(
              'SQLOLEDB',
              'Data Source=.\sqlexpress;User ID=MyUID;Password=MyPass'
              ).DateScheduler.dbo.Table_1
    修改对应部分
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved