Kas*_*hif 14 sql sql-server-2005 linked-server
如何在链接服务器数据库上创建视图.例如,我在[5.6.7.8]上有一个链接服务器[1.2.3.4].两个数据库服务器都是SQL Sserver 2005.我想使用链接服务器上的表创建[5.6.7.8]上的View.
编辑:
在使用全名创建[1.2.3.4] .db.dbo.table时,我收到此错误.
SQL执行错误.
执行的SQL语句:SELECT*FROM 1.2.3.4.db.dbo.table (你可以看到括号不存在.) 错误来源:.Net SqlClient数据提供程序错误消息:'0.0'附近的语法不正确.--->部分IP地址.
我只是在ManagementStudio中创建它,而不是使用它,因为它尚未创建.我改变了IP.在图像中,您可以看到IP周围没有括号,但我给出了它,如果错误,这些括号将被删除.
谢谢.
Rya*_*yan 20
您需要使用四部分限定名称:linkedserver.database.schema.table
SELECT * FROM [1.2.3.4].Northwind.dbo.Customers
Run Code Online (Sandbox Code Playgroud)
这是一篇关于访问对象名称的MSDN文章.
您可能希望尝试手动创建视图,而不是使用SQL管理工具:
CREATE VIEW [dbo].[sywx]
AS
SELECT *
FROM [1.2.3.4].Atia.dbo.IpPbxDCR
GO
Run Code Online (Sandbox Code Playgroud)
我还建议您为链接服务器使用名称(如果可能),而不是使用IP地址.
小智 12
它是一个SQL Management Studio问题.如果您尝试使用管理工作室NEW VIEW创建视图,那么您会得到错误的语法错误.
但是如果你使用SQL Query:
CREATE VIEW [dbo].[viewname]
AS
SELECT *
FROM [0.0.0.0].database.dbo.table
GO
Run Code Online (Sandbox Code Playgroud)
然后它会工作.
要进行测试,您将看到刷新视图时创建的视图.如果您只是从视图中执行选择查询,您将看到视图返回结果.
但是,如果您尝试进入该视图的设计模式并尝试执行设计查询,即使视图已成功创建,也会再次弹出错误.