22,210
社区成员
发帖
与我相关
我的任务
分享
--sql2000
从服务器A的表table1 里面取出数据 插入服务器B的表table2 里面
操作是在服务器A里面查询分析器里执行的
比如 服务器B 表table2的表结构
create table table2(
a int,
b int IDENTITY (1, 1)------大家看好了 表有2列 但是第2列是自动增加的 平时插入时只插入第1列就行
)
--插入数据 操作是在服务器A里面查询分析器里执行的
insert into [B的ip].[数据库名字].dbo.table2
select
table1.xx --只插入第1列 第2列是自动增加的
from table1
--2个服务器之间相互有连接 都有最高的权限 跨服务时候不需要用户名 密码什么的
--服务器A 数据库AA 表名table1
--服务器B 数据库BB 表名table2
create table table1
{
x int,
y int,
c int
}
create table table2
{
a int,
b int IDENTITY (1, 1)
}
--table2的第二个子段时自动增加的
--现在的处理是在服务器A 数据库AA 的查询分析器里面执行
--目的 就是把 table1的x字段插入到table2里面
insert [服务器B的ip].数据库BB.dbo.table2
select
x
from table1
--会提示错误 说字段不相符合
--如何table1 table2 在同一个数据库里面则不会出现这个问题
--我都測試過了,沒有問題~~~~
--TRY
insert into [B的ip].[数据库名字].dbo.table2(a)
select
table1.xx --只插入第1列 第2列是自动增加的
from table1
--或者
--這樣也可以
insert openrowset( 'SQLOLEDB', '[B的ip]'; '用户名'; '密码 ',数据库名.dbo.table2)(a)
select
table1.xx --只插入第1列 第2列是自动增加的
from table1
--目的表有2个子段 组成 但是第二个是自动增加的
--所以从目的表只插入第一个字段就行了
--但是跨服务器执行的时候 就提示错误
--以为跨服务的时候 可能系统认为 目的表有2个子段 怎么只插入一个 肯定就不对了
--可能跨服务器的时候系统没有考虑目的表里面是否有自动增加的字段把
--如何解决呢?
--3楼的方法 只是处理 如何连接2个服务器把 执行时还是提示 同样的错误
--2个服务器之间有连接 不需要特别的处理
INSERT INTO OPENDATASOURCE('SQLOLEDB','Data Source=IP;User ID=XX;Password=XX').数据库.dbo.表2
(a)
SELECT A FROM 表1
INSERT INTO OPENDATASOURCE('SQLOLEDB','Data Source=IP;User ID=XX;Password=XX').数据库.dbo.表2
(a)
SELECT A*1 FROM 表1
--這樣也可以
insert openrowset( 'SQLOLEDB', '[B的ip]'; '用户名'; '密码 ',数据库名.dbo.table2)(a)
select
table1.xx --只插入第1列 第2列是自动增加的
from table1
--TRY
insert into [B的ip].[数据库名字].dbo.table2(a)
select
table1.xx --只插入第1列 第2列是自动增加的
from table1
INSERT INTO OPENDATASOURCE('SQLOLEDB','Data Source=IP;User ID=XX;Password=XX').数据库.dbo.表2
SELECT A FROM 表1
INSERT INTO OPENDATASOURCE('SQLOLEDB','Data Source=IP;User ID=XX;Password=XX').数据库.dbo.表2
SELECT A*1 FROM 表1
SQL codeINSERT INTO OPENDATASOURCE('SQLOLEDB','Data Source=IP;User ID=XX;Password=XX').数据库.dbo.表2
SELECT A FROM 表1
SQL codeINSERT INTO OPENDATASOURCE('SQLOLEDB','Data Source=IP;User ID=XX;Password=XX').数据库.dbo.表2
SELECT A*1 FROM 表1