on 2012 Feb 13 10:11 AM
We're about to migrate an old MS SQL 2000 server (32-bit) to a MS SQL 2008 R2 server (64-bit). As part of the install, we use the MS Linked Server feature with some SQL Anywhere 12.0.1 (32-bit) databases.
While I remember that setting up Linked Servers in the old server was nasty enough (particulary compared to the according Remote Data Access), we don't get the new system to access our SA tables.
What we have achieved:
When using a simple four-part-query like the following:
select * from SVR_SA.MyDb.dbo.MyTable
the following error with error code 7312 is returned (translated from German):
Message 7312, level 16, state 1, row 1
Invalid use of schema and/or catalog for OLE DB provider 'SAOLEDB.12'. A four-part name was supplied, but the provider does not expose the necessary interfaces to use a catalog and/or schema.
So how can I make the provider expose the desired interfaces?
Sigh.
One should never forget to set the "AllowInProcess" option. Now it works.
I should've read the docs better - though this is definetely different between MS SQL 2000 and newer versions:
Choose the Allow Inprocess provider option.
The technique for doing this varies with different versions of Microsoft SQL Server. In SQL Server 2000, there is a Provider Options button that takes you to the page where you can choose this option. For SQL Server 2005, right-click the SAOLEDB.12 provider under Linked Servers » Providers and choose Properties. Make sure the Allow Inprocess checkbox is selected. If the Inprocess option is not selected, queries fail.
Oh, yes, and how nicely they fail:)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
79 | |
11 | |
10 | |
8 | |
7 | |
6 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.