登录到服务器的数据库后更新本地的数据库

tjficcbw 2010-02-13 08:41:04
我想

select * from news insert into ('SQLOLEDB','Data Source=127.0.0.1;User ID=sa;pwd=Sa;')mynewdb.dbo.news a where NOT EXISTS (select * from news where a.id=id)

我本地数据库名为mynewdb
表为news
本地权限 User ID=sa;pwd=Sa
我的目的是把本地没有的记录从服务器上倒下来
...全文
120 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sweet-Tang 2010-02-23
  • 打赏
  • 举报
回复


insert into ('SQLOLEDB','Data Source=127.0.0.1;User ID=sa;pwd=Sa;')mynewdb.dbo.news
select * from news where NOT EXISTS (select * from news where a.id=id)

tjficcbw 2010-02-23
  • 打赏
  • 举报
回复
您说的我不太懂能解释一下吗
xman_78tom 2010-02-23
  • 打赏
  • 举报
回复
OPENDATASOURCE 函数用于打开 OLE DB 数据源,可以通过各种 ole db 提供程序访问各种类型的数据源(如,sql server、oracle、access、txt 文件、xls 文件 等等),各种数据源都对应有不同的连接方式(字符串)。

在使用上,OPENDATASOURCE 相当于 SQL Server 的链接服务器,可以通过四部分名指定需要访问的数据库对象(如,OPENDATASOURCE().database_name.schema_name.object_name)。
tjficcbw 2010-02-23
  • 打赏
  • 举报
回复
根据xman_78tom说的,成功了,谢谢,
xman_78tom 2010-02-14
  • 打赏
  • 举报
回复

-- 打开 Ad Hoc Distributed Queries 服务器选项
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO

tjficcbw 2010-02-14
  • 打赏
  • 举报
回复
其实我的目的就是想把本地与服务器数据同步,我给定的SQL语句可能是正确的,可查询分析器说

SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。

不知如何做。
破折号 2010-02-14
  • 打赏
  • 举报
回复
学习了~~帮顶

回复内容太短了
百年树人 2010-02-13
  • 打赏
  • 举报
回复
/*不同服务器数据库之间的数据操作*/

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

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

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

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

--连接远程/局域网数据(openrowset/openquery/opendatasource)
--1、openrowset

--查询示例
select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)

--生成本地表
select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)

--把本地表导入远程表
insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
select *from 本地表

--更新本地表
update b
set b.列A=a.列A
from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b
on a.column1=b.column1

--openquery用法需要创建一个连接

--首先创建一个连接创建链接服务器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
--查询
select *
FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ')
--把本地表导入远程表
insert openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ')
select * from 本地表
--更新本地表
update b
set b.列B=a.列B
FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ') as a
inner join 本地表 b on a.列A=b.列A

--3、opendatasource/openrowset
SELECT *
FROM opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).test.dbo.roy_ta
--把本地表导入远程表
Rucimafan1 2010-02-13
  • 打赏
  • 举报
回复
远程登录把IP改成服务器的那台就好了
tjficcbw 2010-02-13
  • 打赏
  • 举报
回复
我想登录到服务器的数据库后更新本地的数据库
晚上结贴
xman_78tom 2010-02-13
  • 打赏
  • 举报
回复

insert into news select * from opendatasource('SQLOLEDB', 'Data Source=servername;
User ID=sa;Password=SA').)mynewdb.dbo.news a
where not exists (select * from news where id=a.id)
xman_78tom 2010-02-13
  • 打赏
  • 举报
回复

insert into news
select * from opendatasource('SQLOLEDB', 'Data Source=127.0.0.1;User ID=sa;Password=SA').)mynewdb.dbo.news a where not exists (select * from news where id=a.id)
-狙击手- 2010-02-13
  • 打赏
  • 举报
回复
...
所有需求全部来自生产实际,源自生产,贴近实战,提高技能。 生产案例生产库A是一台2012年的数据库服务器,存储是戴尔sc8000数据量有20T。数据库版本是11.2.0.3,该数据库是单实例数据库。使用操作系统目录存储,没有使用ASM存储。需要进行数据库服务器和存储迁移。迁移到新服务器和新存储。迁移到新的rac环境,使用本地方式进行升级。 目标:我们需要迁移数据库A到新服务器,新存储。 源库A数据库版本11.2.0.3数据库类型单实例数据存储使用操作系统目录存储,非ASM存储容量20TosRhel6 目标库B数据库版本19.19数据库类型Rac数据存储ASM容量21TOsRhel7 难点。1-数据库服务器需要进行替换2-存储需要进行替换3-容量大,存储没有多余空间,只能才有原地升级方式4-版本跨度大,需要从11203->11204->1919单实例->1919-pdb-rac. 具体步骤1-源服务器数据库命令行创建11203数据库软件2-源服务器数据库命令行创建11203数据库实例3-在目标服务器克隆源库11.2.0.3数据软件。并且在目标服务器搭建源库的dg库。4-开始真正的割接,割接的时候没有业务的。激活11203dg为主库。5-升级11203到112046-升级11204到19.197-配置19.19单实例数据库为rac数据库中的某个pdb。Over. 针对以前学员提出文档不全的意见,其实文档都是有的,都已经上传到百度网盘。这次实战课程整理文档如下:0-创建源库11203单实例1-通过克隆方式在目标服务器rac上面创建11203数据库软件2-在目标库rac数据库上面创建11203的单实例的dg3-目标库rac安装11204单实例软件和升级11203到112044-11204升级到19c数据库

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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