我有server1上的WebTrends ODBC源和server2上的SQL Server 2005。我想从server2上的SQL Server连接到此ODBC。到目前为止,我设法连接到从SQL Server这个ODBC是同一台服务器上,使用下面的定义链接服务器:如何创建针对远程ODBC的链接服务器?
EXEC sp_addlinkedserver
@server = N'WT_ODBC',
@provider=N'MSDASQL',
@datasrc=N'WT_ODBC_test'
EXEC sp_addlinkedsrvlogin
@rmtsrvname=N'WT_ODBC',
@useself=N'False',
@locallogin=N'sa',
@rmtuser=N'administrator',
@rmtpassword='########'
我可以查询这样这个链接的服务器:
SELECT *
FROM OPENQUERY(WT_ODBC, 'SELECT * FROM CompleteViewV85.DownloadedFiles');
BTW ,我不能与四部分名称查询这样的:
SELECT *
FROM WT_ODBC.[Complete View V8.5].CompleteViewV85.DownloadedFiles
我收到以下错误:
Invalid use of schema or catalog for OLE DB provider "MSDASQL" for linked server
"WT_ODBC". A four-part name was supplied, but the provider does not expose the
necessary interfaces to use a catalog or schema.
..我证实选项“仅零级别”未被选中。 但是这并没有太大的问题,因为第一个查询的作品。
我的问题是 - 如何连接到这个ODBC,但从另一台服务器? 我去Server2,而且还有在SQL Server中,我创建了以下链接服务器:
EXEC sp_addlinkedserver
@server = N'WT_ODBC',
@srvproduct=N'Microsoft OLE DB Provider for ODBC',
@provider=N'MSDASQL',
@datasrc=N'WT_ODBC_test',
@location=N'10.254.251.20'
EXEC sp_addlinkedsrvlogin
@rmtsrvname=N'WT_ODBC',
@useself=N'False',
@locallogin=N'sa',
@rmtuser=N'administrator',
@rmtpassword='########'
..where我放在服务器1的IP地址作为参数@location。 以此方式创建的链接服务器无法连接到server1上的ODBC。当我尝试运行在server1上运行的相同查询时,出现以下错误:
Cannot get the column information from OLE DB provider "MSDASQL" for linked server
"WT_ODBC".
帮助?有人?请? :)
在此先感谢。
我的猜测是你尝试运行server2上的第一个代码块,并得到最后一个代码块中的错误,结果是否正确? – 2009-12-08 12:44:53
是的,我可以在两台服务器上创建SQL链接服务器,但运行“OPENQUERY”仅适用于第一台服务器(server1)。即使当我通过Management Studio导航到此链接服务器时,也会收到错误:无法初始化链接服务器“WT_ODBC”的OLE DB提供程序“MSDASQL”的数据源对象。 (Microsoft SQL Server,错误:7303) – Dejan 2009-12-08 14:37:31