January 7, 2010 at 4:05 pm
Hi,
I am trying to set up a linked server to connect my 64-bit SQL Server to a 32-bit instance of Indexing Service on an XP box. (This will serve as my backup index in case my 64-bit Indexing Service index crashes, so I won't have to wait a day and a half for the index to rebuild)
I can use the following simple query to pull data from Indexing Service on an XP desktop if I use SQL Server 2005 Express Edition (32-bit) on my development laptop and it connects just fine...
SELECT * FROM OPENQUERY
(IndexingService2, 'SELECT path, filename, hitcount
FROM "AST5034O755".test..SCOPE(''"\\ezra\docs$\ast"'')
where CONTAINS(''bible'')
order by path')
**************************************
But when I use the same query on the 64-bit version of SQL Server on my server (while logged into the server itself), trying to connect to the XP machine, I can't get anything. Here is the error:
OLE DB provider "MSIDXS" for linked server "IndexingService" returned message "Row handle is invalid.".
Msg 7330, Level 16, State 2, Line 2
Cannot fetch a row from OLE DB provider "MSIDXS" for linked server "IndexingService".
**************************************
If I connect to my 64-bit SQL Server from my development laptop using SQL Server Management Studio, (which then tries to connect to the XP desktop) I get a different error:
OLE DB provider "MSIDXS" for linked server "IndexingService" returned message "Invalid catalog name 'TEST'. SQLSTATE=42000 ".
Msg 7399, Level 16, State 1, Line 2
The OLE DB provider "MSIDXS" for linked server "IndexingService" reported an error. Access denied.
Msg 7321, Level 16, State 2, Line 2
An error occurred while preparing the query "SELECT path, filename, hitcount
FROM "AST5034O755".test..SCOPE('"\\ezra\docs$\ast"')
where CONTAINS('bible')
order by path" for execution against OLE DB provider "MSIDXS" for linked server "IndexingService".
So......
Is the 64-bit version of SQL Server just unable to talk to the 32-bit instance of Indexing Service, or is there some other issue that I am missing. I assume that when I am connecting to the 64-bit from my development laptop, the issue is a permissions problem, right?
Any thoughts would be appreciated.
Thanks,
Joshua_
April 7, 2010 at 3:00 pm
Don't know if it will help you - but I've run into exact same problem using SQL Server 2008 x64 on Windows 7 64-bit and running a query against a linked index catalog on a Windows Vista 32-bit.
What I found was that it seems to depend on number of rows returned - in my case when reaching 77 rows or more in the query result - the error show up. If I use SELECT TOP 76 .... the result shows without the error.
This post from the web indicates that Microsoft is aware of the problem and a possible fix is going to be included in SQL Server 2008 Service pack 2 (SP2):
http://www.eggheadcafe.com/software/aspnet/33514159/msidxs---row-handle-is-i.aspx
Cheers
-Tor
April 9, 2010 at 1:52 pm
FYI... I ran into the exact same issue with Windows 2008 64bit SQL Server 2008 querying the ADSI provider.
May 10, 2010 at 11:21 am
Did anyone come up with a solution for this? I have same issue on Windows Server 2008 R2 64/SQL Server 2008 connecting to Windows 2008 Standard 32 bit SP2 Index Server. I think it might have something to do with the data as I can do a select top 18 and it works but select top 19 and I get this error.
OLE DB provider "MSIDXS" for linked server "Files" returned message "Row handle is invalid.".
Msg 7330, Level 16, State 2, Line 2
Cannot fetch a row from OLE DB provider "MSIDXS" for linked server "Files"
June 12, 2010 at 11:12 am
The Indexing service / catalog must reside on the SQL server. The Linked Servers does not work with remote servers when using the MSIDXS Indexing Services drivers... despite the fact that they have a "Location" parameter. I confirmed this with Microsoft about 2/3 years ago (2007/2008). Not sure if this has changed.
Viewing 5 posts - 1 through 5 (of 5 total)
You must be logged in to reply to this topic. Login to reply