sql远程数据导入问题?

php_wsd 2010-06-22 06:38:45
我现在要选择本机表test中的几个字段内容导入到服务器上test2中,test2中的字段是id(自动编号),username2,password2
我使用以下语句为什么不行?
insert openrowset('SQLOLEDB', '服务器'; '用户名'; '密码',库名.dbo.test2) select top 10 username,password from test
我觉得错误可能在:
后面的select中的字段只有username和password两个,前面的test2有三个,并且字段不能一一对应

如何解决?
...全文
50 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
php_wsd 2010-06-23
  • 打赏
  • 举报
回复
谢谢,原来字段名要加在openrowset的括号外面
小夏天~ 2010-06-22
  • 打赏
  • 举报
回复
在openrowset加上列名吧
永生天地 2010-06-22
  • 打赏
  • 举报
回复
如下加上列名 即可

insert openrowset('SQLOLEDB', '服务器'; '用户名'; '密码',库名.dbo.test2)
(username2,password2)
select top 10 username,password from test
php_wsd 2010-06-22
  • 打赏
  • 举报
回复
谢谢,我试试
htl258_Tony 2010-06-22
  • 打赏
  • 举报
回复
INSERT INTO 
OPENDATASOURCE('sqloledb', 'server=192.168.223.239;uid=sa;pwd=123') --相当于服务器名
.test --数据库名
.dbo --架构名
.ab --表名
(col1,col2...)--字段列表

SELECT
col1,col2..... --与插入表相对应的字段列表
FROM 目标表
htl258_Tony 2010-06-22
  • 打赏
  • 举报
回复
INSERT OPENDATASOURCE('sqloledb', 'server=192.168.223.239;uid=sa;pwd=123').test.dbo.ab(col1,col2...)
SELECT * FROM aa


带标识列的用这个方法导入测试OK
php_wsd 2010-06-22
  • 打赏
  • 举报
回复
我的两张表的结构不一样啊,并且表名也不一样
htl258_Tony 2010-06-22
  • 打赏
  • 举报
回复
INSERT OPENROWSET( 'SQLOLEDB', '192.168.223.239'; 'sa'; '123',test.dbo.aa) 
SELECT * FROM aa
我用这个测试没问题,你的错误提示是什么?

34,590

社区成员

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

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