关于OPENROWSET语句的使用问题与USE问题。

myperry 2012-03-31 09:15:12

为了将本地SQL数据库my_data中的表mt_ggh与另外一台电脑上的SQL数据库sql_2012连结,并查询得到我想要的内容。

我编写了如下语句,查询结果也正常。
------------------------
use my_data
------------------------
select *
into #tmp5
from OPENROWSET('SQLOLEDB','192.168.0.120';'sa';'abc191','
select a.id_my, a.my_bh, b.*
from sql_2012.dbo.mt_table a
left outer join sql_2012.dbo.mt_ccb b on a.id_my=b.id_my
where b.leib <= 10')
------------------------
select a.*, b.*
from #tmp5 a
left outer join mt_ggh b on a.id_my=b.id_my
where a.id_my>'20120001'
------------------------
drop table #tmp5
------------------------


因为在与192.168.0.120电脑连接时,没有指定查询的数据库名称,所以每个表前面,都要加"sql_2012.dbo."这样查询结果才正确。

现在我想改一下,先用use sql_2012再查询,结果报错了。

------------------------
use my_data
------------------------
select *
into #tmp5
from OPENROWSET('SQLOLEDB','192.168.0.120';'sa';'abc191',' use sql_2012
select a.id_my, a.my_bh, b.*
from mt_table a
left outer join mt_ccb b on a.id_my=b.id_my
where b.leib <= 10')
------------------------
select a.*, b.*
from #tmp5 a
left outer join mt_ggh b on a.id_my=b.id_my
where a.id_my>'20120001'
------------------------
drop table #tmp5
------------------------


请问正确的写法应该如何写?
...全文
75 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
myperry 2012-03-31
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

你不如添加一个linkserver ,直接查询,不要用OPENROWSET
[/Quote]

怎么使用呢?
能详细说一下吗?
寡亾 2012-03-31
  • 打赏
  • 举报
回复
最近刚好遇到这个问题。
dawugui 2012-03-31
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
你不如添加一个linkserver ,直接查询,不要用OPENROWSET
[/Quote]我同意.
-狙击手- 2012-03-31
  • 打赏
  • 举报
回复
你不如添加一个linkserver ,直接查询,不要用OPENROWSET
myperry 2012-03-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

只能这样用限定
[/Quote]

192.168.0.120电脑上的数据库名称今年是SQL_2012,以后把名称改为sql_2013了,那不是我们查询语句,全部都要改一遍呀?更改的也太多了吧。


myperry 2012-03-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

你方向反了吧?
你应该在另外一台电脑上的SQL数据库sql_2012中登录,然后远程连接本地SQL数据库my_data.
[/Quote]


my_data
在192.168.0.133的电脑上。

sql_2012
在192.168.0.120的电脑上。

不论从哪一台机子上登入,连线另一台电脑时,都有相同的问题呀。
-狙击手- 2012-03-31
  • 打赏
  • 举报
回复
只能这样用限定
dawugui 2012-03-31
  • 打赏
  • 举报
回复
你方向反了吧?
你应该在另外一台电脑上的SQL数据库sql_2012中登录,然后远程连接本地SQL数据库my_data.

34,590

社区成员

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

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