环境如下:
服务器1 地址192.168.0.1 数据库名 TEST1 表名 T1 帐号sa 密码 1234
服务器2 地址192.168.0.2 数据库名 TEST2 表名 T2 帐号sa 密码 4321如何把T1表中的数据写入T2表中?
谢谢
服务器1 地址192.168.0.1 数据库名 TEST1 表名 T1 帐号sa 密码 1234
服务器2 地址192.168.0.2 数据库名 TEST2 表名 T2 帐号sa 密码 4321如何把T1表中的数据写入T2表中?
谢谢
解决方案 »
- (SOS)sql怎么多行转一行?
- 急啊~~~~~~~怎么可以查到Stored Procedure的创建时间?
- 求一简单sql
- 這樣的動態SQL語句怎麼寫
- 请大家推荐几本学习SQL SEVER的基本的书籍从入门系列到精通
- 求助,大家帮看这个问题有什么解决方法吗?
- money 和 smallmoney有什么区别?
- .db后缀名的是什么什么数据库的,如何倒成SQL啊?
- 通过存储过程取数据的问题,不能得到recordcount
- 如何在ASP里调用sql server的存储过程
- 求不含空值的交叉表的Sql语句的书写。
- 假设表User的主键为UserID,并且UserID是自动生成的(递增),插入一行数据的时候需不需要指定UserID的值?
--在192.168.0.2上执行语句:
INSERT T2
SELECT A.*
FROM OPENROWSET('SQLOLEDB', '192.168.0.1';'sa';'1234',
'SELECT * FROM T1') AS A;
虽然是一条语句,但实际上要求Ad Hoc Distributed Queries系统选项必须是开启的
INSERT T2
SELECT A.*
FROM OPENROWSET('SQLOLEDB', '192.168.0.1';'sa';'1234',
'SELECT * FROM 数据库.dbo.T1') AS A;
--开启选项EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
GO
EXEC sp_configure 'Ad Hoc Distributed Queries', 1
RECONFIGURE WITH OVERRIDE
GO
RECONFIGURE WITH OVERRIDE
GO
EXEC sp_configure 'Ad Hoc Distributed Queries', 1
RECONFIGURE WITH OVERRIDE
GO
执行报错DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
已将配置选项 'show advanced options' 从 1 改为 1。请运行 RECONFIGURE 语句以安装。
服务器: 消息 15123,级别 16,状态 1,过程 sp_configure,行 78
配置选项 'Ad Hoc Distributed Queries' 不存在,也可能是高级选项。
有效的配置选项为:
RECONFIGURE WITH OVERRIDE
GO
EXEC sp_configure 'Ad Hoc Distributed Queries', 1
RECONFIGURE WITH OVERRIDE
GO
执行报错DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
已将配置选项 'show advanced options' 从 1 改为 1。请运行 RECONFIGURE 语句以安装。
服务器: 消息 15123,级别 16,状态 1,过程 sp_configure,行 78
配置选项 'Ad Hoc Distributed Queries' 不存在,也可能是高级选项。
有效的配置选项为:
SELECT * INTO T2
FROM OPENDATASOURCE('SQLOLEDB','Data Source=192.168.0.1;User ID=sa;Password=4321').TEST1.dbo.T1
FROM OPENROWSET('SQLOLEDB', '192.168.0.2';'sa';'4321',
'SELECT * FROM Test2.T2') AS A;执行错误为:
服务器: 消息 208,级别 16,状态 1,行 1
对象名 'Test2.T2'无效。
服务器: 消息 8180,级别 16,状态 1,行 1
未能准备语句。
[OLE/DB provider returned message: 无法完成延迟准备。]我是在192.168.0.1服务器上的Test1中执行该语句的
FROM OPENDATASOURCE('SQLOLEDB','Data Source=192.168.0.1;User ID=sa;Password=4321').TEST1.dbo.T1
WHERE 条件直接把你的查询条件加上即可
SELECT A.*
FROM OPENROWSET('SQLOLEDB', '192.168.0.1';'sa';'1234',
'SELECT * FROM T1') AS A;