Groups | Blog | Home
all groups > sql server programming > september 2004 >

sql server programming : Linked Server -> Distributed query


Boknaai
9/16/2004 11:29:10 PM
Hi!

I have written a stored procedure that uses a distributed query that looks
like the following:

SELECT Code, ShortName
FROM OPENQUERY(LINKED1, 'SELECT Code,ShortName FROM dbo.Client') Client

LINKED1 refers to a system DSN on the server that is link to a Sybase
database.

I can run this stored procedure and use it in my code to my hearts' content,
but as soon as anybody else (ie permited users on the database) tries to use
it, they get an error saying "System.Data.SqlClient.SqlException: Could not
create an instance of OLE DB provider 'Sybase.ASEOLEDBProvider'."

The Sybase database requires a username and password to logon to it, which
is different to the windows credentials that users use to get onto my SQL
server database. So in the Linked Server properties -> security tab, I have
checked the "Be Made With This Security Context" button and filled in a valid
username and password for the Sybase database. But this seems to make no
difference.

The fact that I can run this stored procedure means that the Sybase database
accepts distributed queries so it must be a security issue of sorts. I
installed the instance of SQL server so I obviously have full administratice
rights.

Any help/suggestions would be much appreciated
John Bell
9/17/2004 12:19:03 AM
Hi

I am not a sybase user, but using a DSN would mean that you have ODBC on top
of OLEDB connection. I would therefore looks to use OLEDB directly. The
following site http://www.connectionstrings.com/ talks about possibly using a
..IDS file for ASE and other things that are needed.

John

[quoted text, click to view]
Boknaai
9/17/2004 1:01:08 AM
Thanks John, I tried using an IDS file, but users get the same error still

[quoted text, click to view]
Boknaai
9/17/2004 1:49:01 AM
Ok, I've managed to find the problem. For those of you with a similar
problem in the future here is the solution:

When setting up the linked server, under Provider Options, check "Allow in
Process."


[quoted text, click to view]
AddThis Social Bookmark Button