Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从MS SQL server 2005浏览目录将服务器链接到系统间缓存数据库_Sql_Linked Server_Intersystems Cache_Intersystems - Fatal编程技术网

从MS SQL server 2005浏览目录将服务器链接到系统间缓存数据库

从MS SQL server 2005浏览目录将服务器链接到系统间缓存数据库,sql,linked-server,intersystems-cache,intersystems,Sql,Linked Server,Intersystems Cache,Intersystems,我试图在MSSQLServer2005中创建一个链接服务器,通过ODBC指向一个系统间缓存数据库 以下是创建链接服务器的查询: /****** Object: LinkedServer [CC7] Script Date: 02/22/2011 09:06:39 ******/ EXEC master.dbo.sp_addlinkedserver @server = N'CC7', @srvproduct=N'MSDASQL', @provider=N'MSDASQL', @datasr

我试图在MSSQLServer2005中创建一个链接服务器,通过ODBC指向一个系统间缓存数据库

以下是创建链接服务器的查询:

/****** Object:  LinkedServer [CC7]    Script Date: 02/22/2011 09:06:39 ******/
EXEC master.dbo.sp_addlinkedserver @server = N'CC7', @srvproduct=N'MSDASQL', @provider=N'MSDASQL', @datasrc=N'CC7', @provstr=N'DRIVER={Intersystems ODBC};Server=CCMSSRVR;Port=1972;Database=CCMS_STAT', @catalog=N'CCMS_STAT'
 /* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'CC7',@useself=N'False',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL

GO
EXEC master.dbo.sp_serveroption @server=N'CC7', @optname=N'collation compatible', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'CC7', @optname=N'data access', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'CC7', @optname=N'dist', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'CC7', @optname=N'pub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'CC7', @optname=N'rpc', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'CC7', @optname=N'rpc out', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'CC7', @optname=N'sub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'CC7', @optname=N'connect timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'CC7', @optname=N'collation name', @optvalue=null
GO
EXEC master.dbo.sp_serveroption @server=N'CC7', @optname=N'lazy schema validation', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'CC7', @optname=N'query timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'CC7', @optname=N'use remote collation', @optvalue=N'true'
我可以查询数据库,例如:

SELECT * FROM CC7..dbo.iAgentByApplicationStat
这个很好用

我遇到的问题是,当我尝试通过MicrosoftSQLServerManagementStudio浏览目录时。每当我在链接服务器下展开“目录”时,都会出现以下错误:

TITLE: Microsoft SQL Server Management Studio
------------------------------

Failed to retrieve data for this request. (Microsoft.SqlServer.SmoEnum)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476

------------------------------
ADDITIONAL INFORMATION:

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

------------------------------

The OLE DB provider "SQL Server" for linked server "(null)" reported an error. One or more arguments were reported invalid by the provider.
Cannot obtain the schema rowset "DBSCHEMA_CATALOGS" for OLE DB provider "SQL Server" for linked server "(null)". The provider supports the interface, but returns a failure code when it is used. (Microsoft SQL Server, Error: 7399)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.3042&EvtSrc=MSSQLServer&EvtID=7399&LinkId=20476

------------------------------
BUTTONS:

OK
------------------------------
我已经在谷歌上搜索了好几天都没有用,所以任何帮助无论多么小都是非常感谢的

set ODBC UserDSN by manul to replace "@provstr=N'DRIVER={InterSystems ODBC};Server=CC7;Port=1972;Database=CCMS_STAT', "
然后你再试一次

select data from CCM7 will be succeed.
我正在为SSRS的CCM7报告做准备,如果您也这样做,请让我知道。 我的MSN:zxh-snda@hotmail.com
:)

太棒了,这正是我需要知道的(我编写了我创建的服务器的脚本,然后删除了上面引用的部分并重新创建)。我还计划使用SSRS(添加到MSN中)。这个问题是针对发布sql server初始缓存链接的人提出的。你能解释一下你是如何在SQLServer中建立这个链接的吗。我正在尝试做一件类似的事情,以便从sql server连接到缓存数据库,但我不知道在sql server中的何处执行此操作。关于如何做到这一点的任何细节都将大有帮助。感谢您使用SQLServerManagementStudio。我知道有两种方法可以创建链接服务器。一个是使用查询(比如我原来的问题),另一个是使用用户界面。在任何一种情况下,要使其工作,必须首先安装ODBC驱动程序(Intersystems ODBC)。要使用用户界面创建链接服务器,请连接到该服务器,然后展开“服务器对象”,然后右键单击“链接服务器”,然后选择“新建链接服务器”。我遇到了同样的问题,无法浏览目录。当我无法在屏幕上填充目录时。我可以通过以下操作获得列定义,而无需登录缓存并查看类定义:从CC7..dbo.iAgentByApplicationStat中选择*进入tempdb.dbo.iAgentByApplicationStat,其中1=0;然后,我可以在tempdb中展开iAgentByApplicationStat以查看模式定义。