none
SQL Server 2005 X64 Linked Server error

    Question

  • We use Windows 2003 Server (64) on AMD64 and SQL Server 2005 Developer Edition x64 + SP1

     Problem:

    I can not execute any sql on a linked server using the native Provider (SQLCLNI)

    Example (create a linked server on the same machine, other database (msdb) and try to execute any simple select using OPENQUERY

     sp_addlinkedserver @server='ls',@srvproduct='SQLNCLI',@provider='SQLNCLI'

    ,@provstr='Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=msdb;Data Source=localhost;'

     Select * from OPENQUERY(ls,'Select * from Sysobjects')

     Msg 7356, Level 16, State 1, Line 1

    The OLE DB provider "SQLNCLI" for linked server "ls" supplied inconsistent metadata for a column. The column "name" (compile-time ordinal 1) of object "Select * from Sysobjects" was reported to have a "Incomplete schema-error logic." of 0 at compile time and 0 at run time.

     

    Thursday, July 27, 2006 11:13 AM

Answers

  • As the post is quite old, I dont know if it is still useful that I give my answear but how knows ...

    I had the same issue this morning on SQL Server 2008 and went to change the SQLNCLI10 provider properties in management studio

    1. go in "Server Objects > Linked Servers > Providers"
    2. Right click on SCLNCLI10 provider and select "properties"
    3. uncheck "Level zero only"

    And it solved the problem for me

    Cheers,
    Christophe

    Tuesday, October 02, 2012 9:09 AM

All replies

  • The same happens with me also.
    I did tried to change the provider name SQLNCLI TO SQLOLEDB  but it seems by default SQLNCLI becomes the provider.

    Msg 7356, Level 16, State 1, Line 1
    The OLE DB provider "SQLNCLI" for linked server "localserver1" supplied inconsistent metadata for a column. The column "ObjectID" (compile-time ordinal 1) of object "select * from datObjects" was reported to have a "Incomplete schema-error logic." of 0 at compile time and 0 at run time.


    Monday, September 25, 2006 8:51 AM
  • The same happens with me also.
    I did tried to change the provider name SQLNCLI TO SQLOLEDB  but it seems by default SQLNCLI becomes the provider.

    Msg 7356, Level 16, State 1, Line 1
    The OLE DB provider "SQLNCLI" for linked server "localserver1" supplied inconsistent metadata for a column. The column "ObjectID" (compile-time ordinal 1) of object "select * from someObjects" was reported to have a "Incomplete schema-error logic." of 0 at compile time and 0 at run time.


    Monday, September 25, 2006 8:52 AM
  • I'm having the same problem with the following statement.  This was testing on server that was upgraded moved to new server (64 bit) and a server that was a fresh install (32 bit).

    Select *

    From Openquery (

    yourservername,

    'yourdatabasename..sp_stored_procedures'

    )

    Wednesday, September 27, 2006 4:24 PM
  • SQL Server 2005 does redirect the SQLOLEDB provider to the SQLNCLI provider.  Could one or more of you please report the problem you're having on https://connect.microsoft.com/SQLServer?

    I'm going to try the scenario as well and hopefully report back with more info.

    - Vaughn

    Wednesday, September 27, 2006 6:31 PM
  • Hi Werner!

     

    Could you send me what your “select @@version” prints?

     

    Could you also look at the version of the following file at your computer:

     

    "%WinDir%\System32\sqlncli.dll"

     

    Please right-click on each of it in Explorer, choose “Properties”, then move to “Version” tab and copy “File Version” and “Platform” items values.

    Thursday, September 28, 2006 7:42 PM
  • I have the same problem with OPENQUERY to a SQL 2005 linked server.

     

    select @@version returns:

    Microsoft SQL Server 2005 - 9.00.3054.00 (X64)   Mar 23 2007 18:41:50   Copyright (c) 1988-2005 Microsoft Corporation  Enterprise Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 1)

     

    sqlncli.dll version is 2005.90.3042.0

     

    This also fails: select * from [linked_server].[catalog].[schema].[table]

     

    Monday, October 01, 2007 9:36 PM
  • Has anybody ever found a solution to this issue?

    Friday, November 14, 2008 2:31 PM
  • i'm getting the same issue going to a sql server 2008 r2 box.

    i'm also receiving a second error: Msg 7302, Level 16, State 1, Line 1
    Cannot create an instance of OLE DB provider "SQLNCLI10" for linked server "svrrrdb15".

    svrrrdb15 is the 2k8r2 sql server.

    this has been working fine for the last several weeks but started acting up today.

    @@version is Microsoft SQL Server 2005 - 9.00.4035.00 (X64)   Nov 24 2008 16:17:31   Copyright (c) 1988-2005 Microsoft Corporation  Standard Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)

    Any help would be appreciated.  thanks!

     

    Thursday, September 16, 2010 1:14 PM
  • SQLNCLI10 stands for SQL Server Native Client 10. Your SQL Server 2005 is attempting to instantiate this provider, which may not be installed or corrupted. Let's troubleshoot it. Could you please change "SQLNCLI10" to "SQLNCLI" provider and see if this helps? SQLNCLI provider comes with SQL Server 2005 so it should be installed.

    On top of that could you also please check %Windir%\System32\sqlncli.dll and sqncli10.dll if they exist. If they do what are their versions?

    Please also go to Control Panel -> Add/Remove Programs and see if "SQL Native Client" and/or "SQL Server Native Client 10" are installed. Run "Repair" on those that are installed.

    Thursday, September 16, 2010 4:13 PM
    Moderator
  • As the post is quite old, I dont know if it is still useful that I give my answear but how knows ...

    I had the same issue this morning on SQL Server 2008 and went to change the SQLNCLI10 provider properties in management studio

    1. go in "Server Objects > Linked Servers > Providers"
    2. Right click on SCLNCLI10 provider and select "properties"
    3. uncheck "Level zero only"

    And it solved the problem for me

    Cheers,
    Christophe

    Tuesday, October 02, 2012 9:09 AM